. =" r er.
' See a ee SES TENE iad : ats.
5 . ; ke ae Wate A Johnson May/8?7 | s ‘
) La ga0 N. Margen Ave... . BULK RATE “=
MARCH/APRIL a7 Orange City, FL 32763 U.S. POSTAGE
‘Vol. 3 No. 3 oP PAD} NS
(383.00 U.S. Funds Vreniris |
o = — : ____DATED MATERIAL- TIME VALUE
ae = = REQUESTED MATERIAL- PLEASE FORWARD]
: AMERICA’S LARGEST TIMEX SINCLAIR MAGAZINE
~
EXCLUSIVE
eK. BINGHAr!
=
“2s NEL LIFE FOR THE 2xX*S1i--Tsiooon xxx
SILICON MOUNTAIN COMPUTERS announces TRUE HIGH RESOLUTION SOFTWARE for the 2X81/TS1000. You read it riaht! Without any eypensive
hardware add-ons, your computer can mow run software that even its designers never dreamed possible. Thanks to an amaziug
discovery by Wilf Rigter, and innovative programming by Gregory Harder and Fred Nachbaur, you no longer have to suffer the “low
res peste Multiple character sets, 256x192 graphics, 64-column screens, UDG's, even SPRITES are now available for your
computer:
NO computer modifications are required. If you have a ZX51, TS1000, or TS1500, with a 16K (or larger) RAM pack, plus an &K
s
tatic RAM board, you already have all it takes to run this remarkable software. Suitable static RAMs include the popular
"Hunter" board, or similar designs (see SyncWare News vol. 4 no. 1 for one such project costing under $10). Alternately,
consider our 8K "SCRAM" board (described below).
All prices include shipping in USA and Canada. Foreign orders: please add $5 for air shipping. CDN$ accepted at par from
Cc
i
"“ScRAM" NV BOARD
° is
With the loss of the "Hunter" board from the CUNGEON OF YMIR a ee | lin mM, ." ar’! as
market, we Saw the need for an improved func- This D&D-style graphic adventure ;
tional equivalent, at a lower price: This board [me ts the most challenging, 3 a mt um
: complex an spectacular enter-
works with ZX81/TS1000 or 151500, has on-board taiMeEne aa ¥tus ratte? wrteten ‘e FURTUEEEY igen hire avnnis
battery back-up protection, and supports all of for the ZX81 family of compu- LL fh
our high-res software with no modifications. It onic ae ge Poa os 20 TD * fini ‘Lh | be —
. *ypes), spe * - =
can be mapped in O-8K (ROM overlay), 8-16K [iitay gudictive, VERY challen. 2LMMMNNT All
(normal operation), even 16-24K or 24-32K. ging, VERY impressive graphics. " |
100% machine-code, yet takes up ‘ a, i ‘i
‘ . 311 available memory in 16K. One “i
Other features include: reviewer calla@tt: "Ssstap-soft- Ti) ie
* DIP switch to deselect 2K blocks ware” and "a must have.” We know fin
* Board enable switch that you'll agree. AOCTOORELE
* Write-protect switch seeee NEW LOWER PRICE *#ee* = ni t Land
* RESET switch easily installed (optional) PRICE: $19.95 including shipping
* ee ee StdS25 S2sSs5 tse sess sists
Z Very low power drain A King @inotayv
Feed-through connector Hit= L4 [Exp-45 48 [Ce @ [tel | Sho | OrD> [ajO | ReaS
* FULLY ASSEMBLED! Just plug it in.
* Use with other machine-code software
oe JS-"Re~2-JAN- t--4--$~$-—N~- R-FEB-t--f--S-_ 5--n--t-WAR-t--1--s-
PRICE: $39.95 including shipping. +, 1957 1 2 331 2343 6 ate2 345 6
| 4143$6?278 9 10; $ 918 11 12 13 if) 3 918 11 12 13 14!
a 12 13 14 15 16 12415 16 17 18 19 28 21,15 16 17 18 19 28 21!
= ee: ee = = ve ansa+ ~hceaee 125 PY vd = ; = hi 23 24 25 26 22 1135 ] 3 25 26 27 ag
9 ee ee COME 6 TO.6U6ULEeCL EEC CEES This calendar/appointment book Sabet PERS oe Sree $-N==t2 N-t-4--s-
Program demonstrates the power 3} 12345 6°
Cone PAUSE LIST CLIT PAINT REVERSE POINT Locate you have using SRA Hi-Res Ex |S 6 2 $ 9 48 11118 11 12 13 14.15 16) 2 $8 9 19 41 12 135
HOORESS BIRARY tended BASIC. Enter, update, de- 12 13 14 15 16 17 18)17 18 19 20 21 22 23314 15 16 17 18 19 20)
oRae we Mera lete, list, print messages and 119 20 21 22 23 24 25 524 25 26 27 28 29 30521 22 23 24 25 26 27%
CIRCLE #O QNCIRCLE Freminders for any day of any 326 27 28 29 30 333 123 29 38 .
pte: WNRECT | year 1800-2099. Program struc- jS-~RP~t-JUL-t=-f--S= $--W--1-AUG-t--F--S1_$--W--t-SEP-t-- f--s-
TRIANGLE ture will remind you of much la- 4 1 2 3 4} So ae RS 8; ise 3 4.88
INVERT BINCONE KINDO HINDONL WIRCOUR eDC SPRITED SPRITEE | T9e" Tachines which shal) remain 143 2 ms -s g = aaiat = 7 3 a = asta mA a 4 e re "
i nameless.... > : H
SPRITEP SPRITEM SPRITES SETHOBE SAYE-¥ LOWOe-¥ SAFE-S Lene-5S geet si Fr 29 31 22 23 24 25123 24 25 26 27 28 29128 21 22 23 24 25 261
b) BREBORY C. HARDER : -35 including shipping. §3¢ 22 23 29 30 31 +30 31 12? 28 29 30 H
: aca *** SEE SPECIAL OFFER BELOW *** es. “RPpiP ery eS a ares
FRED NACKBAUR $45 6 7 8 $1058 $18 111213145 6 2 8 $4811 12!
' 2 13 14 15 16 17515 16 17 18 19 28 21313 14 15 16 17 18 19}
{ 9 20 21 22 23 24522 23 24 25 26 27 28520 21 22 23 24 25 26!
H 6 27 28 29 36 31529 30 $27 28 29 30 31 3
anadian customers. Write for catalog of other available software. At SILICON MOUNTAIN COMPUTERS, the ZX81 family of computers
s our ONLY specialty. Qur goal is to develop the most progressive software ever created for these machines. We feel that the
software listed below propels these machines into mainstream computing; we think that you'll agree.
$85
SRAM HI*RES EXTENDED BASIC is the flagship of
our new line of software. With this remarkable
package YOU can write high-resolution appli-
cations... ENTIRELY IN BASIC! While using only
4K of memory, SRAM HI*RES adds 38 new hi-resol-
ution commands. If you know how to program in
Sinclair BASIC, you will find SRAM HI*RES easy
to learn and use. A revolutionary syntax system
allows ANY variables or expressions to be used
in your commands. No REMs to pass parameters! No
POKEs: A single USR call is used for ALL com-
mands! Most commands can be chained into MUL-
TIPLE. STATEMENT LINES! We even included a fast
(8.5x normal) set of tape routines! The most re-
liable tape system ever written. Other features:
* Three 32-column PRINT modes .
Lower-case and new symbols
64-column PRINT mode
128 User-defined characters
Scroll WINDOWS any direction...
a pixel at a time:
HIGH-RES @GHESS
This program upgrades the poo-
ular Psion “CHESS” program (as
sold by Timex) to spectacular
hi-res format. Included with the
tape is an easy-to-follow info
sheet detailing how to modify
(and back-u0) the original pro-
qram. No lonqer any need to oat
along using a “real” chess
board!
PRICE: $9.95 including shipping. i
**eee
* Up to 32 TRUE sprites! Speed adjustable. SPECIAL OFFER
* Invert windows or entire screen
* Software-only video reverse If you purchase our "SCRAM" NVM board and SRAM
Sin a HI*RES EXTENDED BASIC and mention this ad,
ig et a ie you'll get a FREE copy of YEAR-AT-A-GLANCE.
Offer good only until July 1, 1987.
PRICE: $24.95 incl. complete manual & shipping
The Peak of Quality... from SILICON MOUNTAIN COMPUTERS
C-12, Mtn. Stn. Group Box, Nelson BC V1L 5P1, CANADA (604)352-1668
~~
=i
The Editor’s Forum
First, without sounding like a lot of hype, I would
like to encourage as many of you that can make it, to
so attend the Timex Sinclair Computer Fest in Indianapolis
fthis coming May. Frank Davis and crew have spent an
‘enormous amount of volunteer time and even personal in-
vestment, to bring you the largest assemblage of TS
vendors and enthusiasts ever seen. I'm hoping that we
can show our appreciation by surpassing their an-
ticipated attendance goal. For further details, please
check out the news section in this issue.
I have received a number of requests for info on
where to get repair work done on Sinclair computers.
This made me realize that TDM hasn't reported on this
Since one of our early back issues.
Currently, we know of three sources for repairs of
the TS1000/TS1500/TS2068: Carver Technologies(Tim Carver
is the service technician), 3832 Watterson Ave, Cin-
Ccinnati, OH 45227, tel.(513) 271-5575; Timex Product
Service Center, 7004 Murray St., Little Rock, AR 72203,
tel.(501) 372-1111 [yep, they still provide "out-of-
warranty" service at this time]; Sunset Electronics,
2254 Taraval St., San Francisco, CA 94116, tel.(415)
665-6161.
For QL service, contact either A+ Computer Response
(69-B Island St., Keene, NH 03431, tel. 603-357-1800):
or Brice Road Pharmacy (1653 Brice Road, Reynoldsburg,
OH 43068, tel. 614-861-3600). However, I recommend that
you contact the dealer where you purchased the computer
from first.
For Spectrum repairs, we have no recommendation,
other than consult the back pages of ZX COMPUTING, where
several European repair. houses are listed.
Another source of help for that faulty computer
might be a new regular feature here in TIME DESIGNS (see
elsewhere). It's called the "TS Communique", and is
hosted by our own Joe Williamson. Joe, as you may know,
was the former editor of SUM. He also studied elec-
tronics and earned a degree from Florida State, and is
currently employed as service technician for a video
store. The TS Communique allows you the reader to send
in questions about troubles you are having with your
equipment (including monitors, printers, interfaces,
storage devices, etc.). Answers will be printed in up-
coming issues.
In closing, I would like to do something that I've
never done before in TDM. Let me explain. A couple of
months ago, I was having one of those perfectly rotten
days (you know, the ones where nothing goes right?).
Then in the mail, came a letter which changed all that.
It simply read as follows:
Dear Mr. Woods,
Please accept my renewal to your very excellent
magazine. I am one of those carry-overs frgn SUM, that
you took under your wing last summer. Because of your
magazine, my interest in the TS2068 has really grown,
and I just wanted to say "thank you".
Respectfully Yours,
Jim Preston
Gainesville, Florida
Because of this one note, the whole rest of my day
had a different outlook. All of those nights I went
without sleep to make a deadline, somehow seemed worth-
while. If I could renew the interest in a powerful
little orphan computer, then my original goals for ‘TDM
had been met.
Sadly, a few days ago I learned that Jim Preston
had suddenly passed away from a heart attack at the age
of 66. He had been a member of the Gainesville Sinclair-
Timex Users Group for a couple of years. One of the
members told me that Jim was "a heck of a guy. Had a
great sense of humor...and would do just about anything
for you. He was that kind of person".
Although, I never met him personally, I was touched
by that one note that came at just the right time. In
this respect, I would like to dedicate our March/April
1987 issue of TIME DESIGNS to the memory of Jim Preston.
I think you would have really liked this issue Jim.
Sincerely,
Tim Woods
Managing Editor
Time Designs Magazine Co.
Special Information for TDM Subscribers
WILL YOU BE MOVING SOON? Or even if you change to a
post office box, please let our office know. well in
advance. We have found that the U.S. Postal Service will
not reliably forward third class mail (like TDM) even if
there was only a small change in the address (like an
apartment number for example). To ensure that no issues
will be lost, notify us a soon as you know your new
address.
WHEN TO RENEW? To determine what your
date is, read the information in the upper right-hand
corner of your shipping label (located on the front
cover of this magazine). For an example: "Mar/87" means
that the March/April '87 issue will be the last one you
will receive until you) renew your subscription again: An
early renewal is appreciated. We also send one reminder
notice in case you forget. You can also use the form on
page 43 to renew your subscription.
expiration
Editor: Tim Woods
MAGAZINE
FOR ALL TIMEX AND
y= SINCLAIR COMPUTERS
” TIME DESIGNS MAGAZINE CO.
29722 Hult Rd. Colton, Oregon 97017
(503) 824-2658
CompuS@rve ID 71350, 3230
MARCH/APRIL ’87
Vol. 3 No. 3
TIME DESIGNS MAGAZINE is published bi-
monthly and is Copyright © 1986 by the Time
Designs Magazine Company, Colton, Oregon
97017. All rights reserved.
Reproduction of this magazine in whole or in
part by any means without written permission is
prohibited by law
“NOTICE: Contributors to TIME DESIGNS are independent
of the TIME DESIGNS MAGAZINE CO., and opinions ex-
pressed in the contents of the magazine are notnecessarily
those of the management or its advertisers. Time Designs
Magazine Co. willnot be heldliable for any damage or conse-
quences resulting from instructions, assertions of fact,
review of products or companies provided in the magazine's
content.”’
Assistant Editor: Stephanie Woods
Editorlal Assistant/Production: D.L. Woods
Photography:
(unless otherwise noted): Thomas Judd
Printing by; Toad’! Litho Printing and Comp.,
Oregon City, Oregon 97045
SUBSCRIPTIONS: $15 a year for six issues (US
funds only). No extra charge to Canadian
subscribers. All other countries please write for
information on air mail rates.
CUSTOMER SERVICE: Customer satisfaction is
our goal. For subscription service problems
please write or call TIME DESIGNS.
CHANGE OF ADDRESS: Write or call to prevent
delay of sevice,
Editor: To "nxecap" a Letter that was printed in the Last
(Jan/Feb '87) issue of TOM, from Vince Stimmel; help was
requested on saving auto-run cassette programs to the
A&J Microdrive. Mr. Stimmel reported that he received a
number of responses and a phone call before his copy of
the magazine arrived in the mail. Here are two NCS pPOnSeS
that were sent in to us directly...
Since we too have recently invested in the "poor
folks" mass storage from A&J, we have a feeling of kin-
ship. If you have the customized version of MSCRIPT, the
"catalog" function can be a help in getting self-
starting and machine code programs onto wafer. Load
MSCRIPT; at the HOME menu, set "use" to cassette (just
hit the "U" key). Then hit "Cc" for catalog. Play your
program tape, and each program should be listed on the
screen, along with memory addresses for all code or the
auto-start line number in Basic programs. Now that you
have some more information, see if you can break into
the Basic and save it to wafer. Then save the indicated
code at the indicated address and length.
Branson Wilcox
Cawker City, KS
Thank you for publishing my program "Character
ANALYSIS" in the JAN/FEB '87 issue. I hope your readers
will enjoy and find some use for the program. I will be
happy to answer any of their questions regarding it. I
am also enclosing a subroutine for SAVING to A&J and/or
tape, to answer the question your reader, Vince Stimmel
of Hendersonville, NC, asks. It includes error trapping,
verifying, and autostart.
William C. Andrews, M.D.
San Anselmo, CA
TO SAVE
9000 ON ERR RESET : BORDER 6: @———— GOTO 9999
PAPER 6: CLS : PRINT AT 5,123 P
AFER 13 INK 93 BRIGHT 13" SAVE?
"SAT 10,7; PAPER 2;" 1 "3; PAPER
6; BRIGHT. @;" ON MICROWAFER ";AT
12,13;" OR "s;AT 14,7; PAPER 2;
BRIGHT 13" 2"; PAPER 6; BRIGHT
®;" TAPE CASSETTE ": PAUSE @
9918 LET Z$=INKEY$: IF Z$="2" TH
EN GO TO 994@
9020 BORDER 1: PAPER 1: CLS : PR
INT AT 19,18; PAPER 2; INK 93; FL
ASH 1;" RECORDING "
9930 SAVE "@1, TITLE" LINE 9100:
GO TO 919@
9040 ON ERR GO TO 909@: BORDER
®: PAPER @: CLS : PRINT AT 11,10
; PAPER 2; INK 9; FLASH 1;" RECO
RDING "
9950 SAVE "TITLE" LINE 9196
9968 BORDER 1: PAPER 1: CLS : PR
INT INK 7sAT 9,2; "REWIND TAPE--
PRESS ANY KEY TO"?**TAB 5; "VERIF
Y OR BREAK TO STOR"
9070 PAUSE @: CLS : PRINT AT 11,
14; INK 6; FLASH 1;" VERIFYING "
9989 INK 1: VERIFY "": PRINT AT
11,6; PAFER 2: INK 9;" RECORDING
IS O.K. “: BEEP .5,1@: PAUSE 20
G: INK @: GO TO 9199
9098 CLS : PRINT PAPER 2; INK 9
; FLASH 1;AT 1@,1@;" TAPE ERROR
": PAUSE 2a@
919 ON ERR RESET : CLS : GO TO
be in sequence for its
position on the wafer.
After the , name of
program (7 char. max.).
Number after LINE is
the next sequence of
program (could be the
auto-start).
For tape--no @. Title
RROR TRAP
=~
The number after @ must
limited to 10 char. max.
Autostart of program
= 2
wor
I am writing to say thank you for doing a great job
with TDM. I especially appreciate the Machine Code pro-
grams, utilities for the TS 2068. Thank you also for
publishing the Source Code for Michael E. Carver's
"BASIC2text" (Nov/DEC '86). I really enjoyed that one. I
learn so much from labeled, notated source code about
the 2068 and the assembler language itself. Thank you
for doing this, hope to see more.
Syd Wyncoop's column has been the best presentation
of Beginning Z80 Machine Code I've ever seen. Now that
the price has come down on Softsync's programs (now
available from Zebra Systems): ZEUS ASSEMBLER, ZEUS
MONITOR/DISASSEMBLER..well, they are great programs!
Here is a tip for the Assembler, that some users may
appreciate. The instructions that are included with
ZEUS ASSEMBLER do not explain how to get a minus dis-
placement value. For example: you would like to write a
program or utility that resides at address 57344 (right
at the start of the assembler), and you would like to
have your assembled code at address 40000. You would use
the ORGinate address 57344. Then to calculate the
DISPlacement: 65536 - ORG(address) + assembled code
(address) = DISPlacement or 65536 - 57344 + 40000 = DISP
48192. When satisfied with your code, SAVE "name"CODE
40000, length. To test it out, LOAD "name" CODE 57344 or
whatever was used for the ORGinate address. Thanks again
for a great magazine!
Richard Hurd
Warrenton, OR
em
Editor: Thanks for your continued support,
accept both criticism and praise.
Syd Wyncoop repkies: I have an easier way f0A negative
displacements in ZEUS. The problem is that my way better
Lends itself to use in hex. I will usually assemble my
code to address #C000 and then add an offset of #2000 to
akk Labels. Using these numbers, the Machine Code would
be assembled at 49152 and nun from 57344. These numbers
ane not as Strange as they would {inst appear. They rep-
resent page breaks between &k sections of memory, but
this 48 only obvious when working in hex. The "#" in
front of the above numbers is the notation used by ZEUS
to denote a hex number. Ads Long as you ane running your
code from any 256 byte page break, this technique works
very well and is easy to use, if you use and understand
hexidecimak numbers. Thanks for your comments.
Richard.
Dear Tim,
You mentioned in the Jan/Feb '87 issue that I would
soon complete debugging the TS2068 ROM software. I would
have said "debugging is an on going project" and the
corrections that are completed are ready for release at
any time. I am working on both the TS1000 and TS2068
software. I have the TS1000 (and TS1500) on 16k EPROM.
With the price drop on 32k static RAMs we can now have a
four chip computer with 32k bytes internal RAM and 8k
space for special ROM code.
The latest bugs corrected for the TS2068 include
both the HOME ROM and extension ROM software. ‘These
corrections allow a BASIC AROS to operate in the
advanced video modes. With these corrections
USR (number) also works in the advanced video modes
Bob Orrfelt
3436 Bay Rd.
Redwood City, CA 94063
the PRINZ,
- %
I have not been able to figure out how to print a
copy of a screen display on my QL Printer. I have tried
to interpret the information provided by the QL Users
Guide, the QL Printer Manual, and Jan Jones' book "QL
SuperBASIC", all to no avail. After spending around $800
for my QL setup, I feel cheated that the capability is
not specifically addressed in the manuals, if in fact
the capability exists. Must I purchase a program in
order to do this, such as a desktop publishing program?
Your advice will be much appreciated.
Doug McRoy
Laurel, MD
Mike de Sosa answers: The following short program should
solve your problem. This and mone useful programs Like
At wihk be found in my new book TAKING THE QUANTUM LEAP:
THE LAST WORD ON THE SINCLAIR QL, to be published by
TIME DESIGNS in Aprik. Always use PAPER 0 (bfack) when
preparing a serneen to dump, otherwise you'keR wear out
your printer cartridge ribbon in a hurry. To make sure
you capture all of your screen design, Leave about 5
character Spaces and 1 Line Space blank on the top,
bottom, and sides of your screen design.
Save the program on your QL-BG (Easel) backup cartridge.
Run the program on MDV1. Key and enter "dscreen" to get
a suitable window for your design. Make your screen
design. Turn your printer on. Key and enter "dump" to
copy your screen on your printer.
If you want to SAVE your. screen design, use:
SBYTES MDV2_anyname, 131072, 32768
To reload your design, use:
LBYTES MDV2_anyname, 131072
1 REMark Gprint., dung
2 a=RESPRC4000)
3 LEYTES mdvyl ogprint prt,
4 OPEN NEW #237 iiedvl d&ode
5 PRINT #23,4
& CLOSE #2
7 DEFIne FPROCedure DUMF
OPEN #3, mcivl deode
9 INFUT #2,a
(‘owe eC : ‘
.) ee 4 0.6 00-5 ,0,0,0,0,0
12 END DEFinge DUPF 2
13 DEFine® FPROCedure DScreen
14 WINDOW Sif, #56,0,0_
15 PAFER Of TNE 7! écs oe
16 PAPER _ #2,0:;INK #2,4: CLS #2
17 END DEFine DiScreen
Build this SUPER SIMPLE MODEM by Joe Williamson
With the popularity of telecommunicating using TS
computers, I thought it was about time for a _ simple,
easy to build modem to appear on the scene. Using the
circuit shown connected to the Mic jack with the program
listed, you too can enjoy telecommunicating over your
telephone line. WARNING! There may be rules and regu-
lations governing connections made to telephone lines in
your area. Check first.
The Circuit shown can be made from parts that are
available locally, and it uses the Mic jack as the I/O
port. The transformer matches the impedance of the phone
line to the impedance of the computer and provides iso-
lation. The switch allows you to place the circuit "on
hook" or "off hook".
The program must be entered exactly as_ shown,
particularly the REM statement which contains the code
required for proper operation. The BEEP command is used
for the different tones. The program is bare minimum for
printing to the screen and keyboard entry. Because of
this, you should load in the program first and become
familiar with its operation BEFORE attempting the hard-
ware portion. The USR calls are primarily for keeping
track of what is printed where on the screen.
After typing in the program, save it before running
so you won't have to type it in again if the program
crashes. Once this is done, enter RUN and you should be
greeted with the message: "Super Simple Modem Ver. 1.1
Ready". With a flashing cursor here on the next line
awaiting keyboard or external entry. Press any key to
start.
To go online with some of the different modem
services available, turn the switch to the off position
and connect to the phone lines and plug into the Mic
jack as shown. To dial, use a standard phone and dial up
a modem service. As soon as they answer, turn on the
switch and hang up the phone. You should be online with
who you called.
The simplicity and ease of use of this program will
award you great pleasures in use. Try it. Show it to
your friends. Enter the world of telecommunicating
today. What can you lose?
Ow/oFF S with
To Phone Li “NES
TS2068 Modem Program
1 REM RTODQ-RHLOKD-LNCDL-UDQ-
O-OQD@CX@OQHKENNKR <)>xx
10 BORDER 0: POKE 23693,7: CLS
: RANDOMIZE USR 26757
20 LET L=25: LET P=26715: LET
C=IN 244
30 DIM A$(L+i)
40 GO SUB 1000: PRINT ’A$
50 LET P=P+L+1: LET L=4
55 RANDOMIZE USR 26757: DIM A&%
(L+1)
60 GO SUB 1000: PRINT ’’A$
70 PRINT ’ FLASH 13" *
80 PAUSE 0: PRINT AT 6,0; FLAS
H-0;= >
90 LET P=P+L+1: LET L=4: DIM A
$(L+1): GO SUB 1000: LET Q=14:
LET S=.75: LET C=C+4: GO SUB 40
00
100 LET P=P+L+1i: LET L=5: DIM A
$(L+1): GO SUB 1000: LET Q=21:
LET S=.7: LET C=C-2: GO SUB 400
.¢)
150 BEEP .2,20: BEEP .2,5
160 BEEP .2,20: BEEP .2,5
200 PAUSE 0: RANDOMIZE USR 2675
8
999 STOP
1000 FOR N=0O TO L: LET A$(N+1)=C
HR$ (CPEEK (P+N))+1)
1020 NEXT N
1050 RETURN
3999 STOP
4000 LET A=LEN A$
4025 PRINT AT 21,03 INK O;a$
4030 FOR f=0 TO 8xa-1: FOR n=0 T
O 7: IF POINT (f,n)=0 THEN GO
TO 4055
4050 PRINT AT Q-N,FxS; INK C3" "
4055 NEXT N: NEXT F
4060 RETURN
Modem Circuit
Redio Transformer
NEW PRODUCTS
For TS2068 and SPECTRUM
VERSION 1.1
¢ Pull-Down Menus e Auto-Speed Control © Includes Spectrum & TS2068 Versions
¢ Several Brushes © Magnify & Reduce e Supports Microdrives and Kempston
e Spray © Rotate & Mirror Joystick
© Auto-Fill ® Full Attribute Control © Includes GALLERY, the slide
* Zoom * Fully Elastic Shapes including Circle, show/animator
* Undo Box, Triangle, Ray and Line ¢ 5 Samples of Artwork
© Several Text Fonts ¢ Fast Ellipse and Arc e Excellent Manual
¢ Cut & Paste Windows
Unshackle your creativity with ... ARTWORX!!
ARTWORX V1.1 - $19.95 U.S. plus $3.00 S & H
REVOLUTIONARY NEW BASIC COMPILER...
The dream of every BASIC programmer has now been realized!
* TIMACHINE will turn your BASIC * Handles all BASIC except I/O
into super-fast machine code, * Includes an excellent manual and
running up to 200 times faster! 4 demonstration programs
* Handles floating point operations * Compiles up to 27K in seconds
like SIN, COS, TAN * Includes Spectrum & 2068 versions
Super-Charge your BASIC programs with... TIMACHINE!
TIMACHINE — $19.95 U.S. Plus $3.00S & H
A unique combination of planning aids, decision tools, and utilities.
* Scheduler/Planner * Biorhythms
* Notepad * Perpetual Calendar
* Telephone Book * International Time Zones
* Programmable Calculator * Superb Manual
* Decision Factoring * Includes Spectrum & TS2068
* Real Time Clock Versions
* Supports Microdrives
A TIMELY ADDITION TO YOUR SOFTWARE LIBRARY... THE WORX!
— $19.95 U.S. Plus $3.00S & H
Novelsoft
A FORMAT FOR THE FUTURE
106 Seventh Street, Toronto, Ontario, Canada M8V 3B4 ¢ TEL. (416)259-8682 © CompuServe 70416, 1435
TS Communique
By Joe Williamson
A forum for people having problems with their
1500 and 2068. If you would like to ask a
send it to:
1000,
question,
TS Comunique
c/o Time Designs Magazine Co.
29722 Hult Road
Colton, OR 97017
I have a Panasonic KX-P1091 printer that I use
with MSCRIPT on my 2068. I cannot print in
italics, pica, elite, or proportional (Cany multi-
byte control codes); I have used various symbols
(comma, “", -, etc.), but no luck. Underline, bold,
and double width print work well, but nothing else.
This-really, tsn’t.a “big thing"s shout it. just
bothers me that I can’t use these functions. Any
help you can give me would really be appreciated.
Jack Van Nest
San Diego, CA
Dear Jack,
You must define a code key for each part of the
multi-byte control code. For example, to define for
italics print (27+52 turns italics on and 27+53
turns italics off), define the code Keys as_ follows
in your first line of text: >#0=27,#1=52,#2=53\
When you are ready to insert them into your
text, use the function G to add @0@1 to where you
want italics to start and @0@2 where you want it to
end. -Joe
I am using a Panasonic CT-160 composite color
monitor and cartridge software. The color display is
excellent from my "main" 2068 computer. The display
from my “backup” 2068 is also good while using a TV,
but no color from the monitor output.
Was this a common factory problem, and if so, is
there a repair that can be made at home without
sending the unit through the mail?
John Buckmaster
Maspeth, NY
Dear John,
Yes to both questions. The video from the 2068
is not really up to standards. The color output
seems to deviate the most. Your TV probably is a bit
more tolerant of these signals and will work with
your backup 2068. To help correct the problem, You
must open up your 2068. Make sure that the power is
off and be careful!
Pop-off the metal cover near the TV output
connector and turn the little adjustment inside with
a small screwdriver until color appears on _ your
monitor. Be sure and check all the colors to make
sure it is stable for all colors. The three
adjustments around the speakers also control the
display. Adjust VR1i for best jitter free picture. If
there is a high-low input impedance switch on your
monitor, place it in the “high” position for best
operation. VR2 and VR3 control the hue of the
colors. VR2 brings out the blues and VR3 brings out
the reds. With the tint control on the monitor in
the center position, adjust VR2 and VR3 for best hue
of yellow, cyan, and magenta. -Joe
Do you Know if anyone has a printer’ interface
for the 2068 to connect to a Okidata 10 or 20?
I understand the interface plugs into the
printer and is available for the Commodore 64 and
IBM PC. Perhaps one could be modified?
I’m told this printer will make color’ trans-
parencies or with no ribbon, print on thermal paper.
Nathan Willis
Orange, TX
Dear Nathan,
Your best bet would be to go with the IBM type
interface and a serial (most likely it’s serial)
printer interface for the 2068. You should be able
to access all of it’s capabilities with the driver
software for the interface. A serial printer
interface should be able to be found from one of
TDM’s advertisers. If anyone is familiar with this
printer being driven by the 2068, drop us a line and
let us Know. -Joe
I have a 2068 with an Aerco parallel printer
interface connected to a Smith-Corona TP-II daisy
wheel printer. I am using MSCRIPT with it but unfor-
tunately, I have a “bug” that no one else I Know has
run into.
It seems that randomly it glitches
printout. It occasionally forgets to
carriage, or it will leave out a letter, add an
extra letter, indent when it shouldn’t, or not
indent when the main text is all indented. The
result is that I still frequently find myself doing
“cut and paste”.
I have no way of determining if it is the
program, the interface or the printer. I know it is
not the computer because I own two and I _ have
interchanged them with no improvement. I have just
recently ordered a new Aerco interface for my second
system so I may soon eliminate that item.
Is it possible that my printer has a quirk in
it?! Has anyone else out there encountered this sort
of frustration with this program? I think that
MSCRIPT is great but this “glitch” is most
aggravating.
during a
advance’ the
Mel Routt
Clearwater, FL
Dear Mel,
Because the “glitch” is so random, it is hard to
tell exactly where the problem is coming from but I
would suspect the interface and wiring first. Make
sure that all connections are clean and tightly
fastened. If you have access to an oscilloscope or a
logic probe, you can check the data coming out of
the cable and work back into the interface making
sure that you get good logic levels swinging for
less than .5 volts to more than 4.5 volts as data is
fed out the cable.
Try flexing the cable while printing to see if
the problem exists there. If there is any type of
buffer built into the printer, it may take awhile
for the results of flexing the cable to appear on
the paper. Good luck! -Joe
UNLEASH THE POWER OF EXTENDED
COLOR MODE ON YOUR T/S 2068!!
EXTENDED PAINT gives you eight times the
normal color resolution. Over 25 unique
functions. Joystick control, menu-driven
Extensive printer support, including hires
greyscale screen dumps to T/S 2040 and Epson
compatibles, as well as FULL COLOR hires
dumps to Canon color ink-jet and compatibles.
Supports AERCO Centronics interface.
Cassette, with 24 page manual. $19.95 pp.
from:
Dave Franson
3534A E. Squire Ave.
Cudahy, WI 53110
Two New Sinclair Computers Announced.
Sir Clive’s Z88 and Spectrum +3.
Desktop Publishing
for the TS2068.
Desktop publishing software and hardware packages
have taken the personal computer market by storm. By
combining’a powerful text editor with a graphics de-
velopment system, the user can produce publications and
documents for small business applications, with pro-
fessional results. Generally, when purchasing one of the
commercial desktop packages along with a quality laser
printer...the down payment alone could put you into
major debt.
Enter Sinclair computers. Already the QL has a
budget-priced desktop program called FRONT PAGE. Now the
TS2068 joins the ranks with not one program, but two
separate offerings.
PIXEL PRINT Desktop Publisher is available for
$19.95 ppd., from Lemke Software Development, 2144 White
Oak, Wichita, KS 67207. Supports the Tasman, Aerco and
A&J printer interfaces.
The TIMEX 2068 DESKTOP PUBLISHER is available for
$19.95 + $1.25 for postage and handling, from Charles
Stelding, 1415 South Baxter, Tyler, TX 75701.
For several years now, news of a _ battery-powered
"lap computer", code-named PANDORA, was reportedly being
developed by Sir Clive Sinclair and his engineering
staff. In recent months, Sir Clive himself, talked ex-
tensively about the proposed portable microcomputer.
Sharp's Inc. of Mechanicsville, Virginia, reported
to TDM in mid-February that the long awaited portable
had been unveiled at a British computer show. The new
machine, all decked-out in traditional black, signifies
a comeback for Clive Sinclair, and is appropriately
named the "Z88".
The new Z88 is produced by the Cambridge Computer
Company, a subsidary of Sinclair Research. Actual manu-
facturer of the computer is Thorn EMI. Not surprising,
the Z88 will be initially sold by mail order, for about
$300 (equivalent U.S. dollars), with an estimated pro-
duction capacity of 10,000 units per month. At a later
date, it will be sold through retail stores.
The portable Z88 does not have some of the features
originally proposed by Sinclair, such as use of flat
screen television technology, Microdrives, or CP/M.
Instead, it uses a new 8 line by 80 column LCD display
designed by Epson. The internal processor is a 2Z80,
coupled with on-board 32k RAM. Data and software is
stored on battery-backed EPROM cartridges. RAM is ex-
pandable to 128k via an optional cartridge. Due to the
new wafer scale integration being developed by Sinclair,
additional RAM upgrades may be available in the future —~
Another feature of the new computer is IBM PC fi:
compatibility. With an optional software disk for a Pvc
and a cable, the Z88 can upload and download files from
an IBM.
The whole unit with four AA batteries weighs less
than two pounds, and measures 11.5 inches by 8.5 inches.
The full travel keyboard is specially made from silicon,
and is said to be totally quiet in use.
Also built-into the Z88 are software programs
written by Protechnic of Cambridge, including a word
processor a database, a spreadsheet, and some utilities.
Further software development from third party houses is
highly encouraged by Sinclair.
In further news, Amstrad announced that they will
be releasing a 128k Spectrum model that will have a 3"
disk drive built in, as opposed to the cassette tape
recorder found on the Sinclair Spectrum Plus 2. The 3"
disk is the general format of choice in the Amstrad
line. The DOS for the Plus 3, will be a customized
version of Amsdos. No CP/M compatibility has been
announced for the Plus 3,
Largest Timex Sinclair Computer Fest
gears up...jJust weeks away!
An estimated 1,000 Timex. and Sinclair computer
users will converge on Indianapolis, Indiana on Saturday
May 2nd and Sunday, May 3rd. Attendees will be coming
from all over the U.S. and Canada, to participate in the
Second Annual Mid-West Timex Sinclair Computer Fest.
The event will be housed at the Holiday Inn-North (just
off North I-465 at 3850 Depauw Blvd.). The gates open
each day at 9a.m., and tickets can be purchased at the
door for $6 (individual) or $9 (for a family).
A banquet on Friday evening for dealers and ex-
hibitors will kick off the festivities. A variety of
activities are planned for any interest or skill level.
Guest speakers will be giving mini-workshops on suc’™™,
subjects as "Graphics and CAD programs", "Using Yo.
QL", "Machine Code Basics", "Dot Matrix Printers", ana
"MIDI, Computer Music and Sinclair PC's". Valuable door
prizes will be given away hourly, such as new computers,
software and books.
=,
Almost every Timex Sinclair vendor will be there,
with booths spread over more than 5,000 square feet.
Many of these dealers and services have contacted TDM to
report that they will be displaying some
before" equipment as well as offering substantial Fest
price discounts.
¢ Here is an updated list of participating Timex
,inclair vendors and services:
Sharp's Inc. Novelsoft
Variety Sales Foote Software
Knighted Computers The WJDJUP Co.
zebra Systems Inc. A+ Computer Response
Time Designs Magazine Co. Kurt Casby/E. Arthur Brown
CEM. JRC Software
Brice Road Pharmacy Heath Software
RMG Enterprises The John Oliger Co.
Quantum Computing Byte Power
Thomas B Woods/Syncware News Beaver Computer Products
Vernon Tidwell Herb Bowers (Abba Soft)
SiriusWare Haltronics
Curry Computer Markel Enterprises
Aerco Sinclair Information Network
Russell Electronics Lemke Software Development
More New
LPRH RSH TSE esas Ke
PS euyuRA 8206
A TS1000 CLONE??? Yes sir, and several TDM readers
have bought one, after seeing advertisements in Computer
Shopper and other magazines. The PC8300 was designed and
manufactured by Unisonic in Hong Kong during the heyday
of the TS1000/ZX81. Although it is similar to the Timex
Sinclair, it does offer some improvements like a pro-
grammable sound chip (plus a loudspeaker), a joystick
port, a monitor output, a chicklet-style keyboard, and
an improved tape loading circuit. The PC8300 will accept
the TS2040 printer and the TS1016 Rampack...and most
(but not all) TS1000 software will load in. The clone is
priced to sell at $29.95 + $5.99 for UPS ship, from
American Design Components, 62 Joseph St., Moonachie, NJ
07074, tel.(800) 524-0809 or (201) 939-2710.
John Mathewson, 1852 Appleford St., Gloucester,
Ontario, Canada KlJ 6T4, has developed an external key-
board interface board that plugs into the TS2068's
cartridge port, and allows both the computer's keyboard
and the external keyboard to operate at the same time.
No modifications to the computer required. Price for the
interface card is $39.95 (U.S.); for the interface card
plus an external keyboard system (in wood cabinent) is
$69.95; also available is an interface and external key-
board system for the TS1000/Zx8l--write for details.
The TS2068 version of SPECTERM 64 is completed and
currently available for $30 + $2 for postage, from G&C
Computer Products, PO Box 2186, Inglewood, CA 90305,
tel. (213) 759-7406.
The Spectrum option for the Timex/Zebra FDD disk
system is now available for $60 from Zebra Systems Inc.,
(78-06 Jamaica Ave., Woodhaven, NY 11421, tel.(718) 296-
2385. Call or write for special ordering instructions.
Also available for the FDD from Zebra is the "Software
Development Technical Manual" for $20.
"never-seen—
MIDWEST
Ptimex @ a! a
COMPUTER
FEST
Indianapolis
TO
NORTH
PRO YONG
Harcourt Road
| ToUS. 31
§ 1.9 miles_.
15 MILES
West 65th Street
Booths will also be sponsored by TS User Groups from
Indiana, Wisconsin, Ohio, Kentucky, New Jersey, New
York, and Michigan.
For further information and details, write or call:
Paul Holmgren (Executive Director), 5231 Wilton Wood
Ct., Indianapolis, IN 46254, tel.(317) 291-6002; or
Frank Davis, 513 E. Main St., Peru, IN 46970, tel.(317)
473-8031.
Items...
A new version of the Larken disk drive interface is
ready now. The system for the 2068 and Spectrum consists
of an interface board for $45 (U.S.), and the LKDOS/EX-
BAS Cartridge (which contains all of the commands for
the system) for $60. The user supplys the floppy disc
drive(s). Some new features include a "snap shot" save
routine and 10 new Extended Basic commands. A 256k RAM
Disk for the TS2068 will be available soon. Write to:
Larken Electronics, RR#2 Navan, Ontario, Canada K4B 1H9.
The DISCIPLE is a new disk drive interface for the
Spectrum. Along with the disk feature, it also has a
"snap shot" save button, a Centronics printer interface,
dual joystick ports, and a networking system similar to
the Interface One. All of this comes in one small box
for £89.95. For further information, write to: Rockfort
Products, 81 Church Road, London, England NwW4 4DP.
Joe Newman of Variety Sales (325 West Jersey Street
#2D, Elizabeth, NJ 07202, tel. 201-527-0535) announced
that he would be willing to display software or hardware
for any manufacturer or dealer that will not be able to
attend the Mid-West Computer Fest. Write or call for
details.
Sharp's Inc. (Rt 10 Box 459, Mechanicsville, VA
23111) reported to TDM that a new ROM is available for
the QL, that replaces the existing two ROMS inside the
computer. Several advantages are possible, including
reduced heat build up and crashes. Also, other programs
can be added to the new ROM such as I.C.E. or Toolkit II
or customized combinations can be ordered. The new ROM
is priced at $39.95.
Two new software packages for the QL have been re-
leased by Meta Media Productions, 726 West 17th Street,
Vancouver, B.C., Canada V5Z 1T9. BOPPERS is a board type
game, and FRACTAL is a mathematically based graphics
generating program.
The Crocket PAYROLL professional business software
package is now available from Kamrec Systems, 51267 E.
Village Bldg.17, Apt.205, New Baltimore, MI 48047.
Write for information on this and other QL programs.
Version 3.5 of Qflash's RAM-disk and toolkit soft-
ware will be upgraded shortly to Version 4. It gives
RESET128 and COMPARE aS SuperBASIC extensions, and other
features. The software can be supplied on Microdrive
cartridges, an EPROM, or an EPROM for the Sandy Super-
QBoard. For prices and further information, write to:
Uwe Fischer, Post Box 102121, D-2000 Hamburg l.
-.
ALSO AVAILABLE FOR THE T/S 2068
ZX-TEXT
ZX—TEXT
COPYRIGHT (c) 1
963
ALBERT F. RODRIGUEZ
SELECT AN OPTION
»-WRITE
»REAC /EDIT
»PRINT
“AMNSWEP BY ENTERING A NUMBER"
A word processor is to a computer user
what a typewriter is to a typist, except that the
former has more advantages than the latter.
ZX-Text can operate in 16-64K RAM providing
from 1300 to 6500 words per document. It
features 6 different options: write, read, edit,
print, save and clear text. Text is written on a
per-line basis with quick speed and with
horizontal back-space and delete capabilities
being available. You can also access the
editor directly from write mode and vice-versa.
Text can be proof-read on a per-line basis
allowing for enough time to determine if any
editing is needed. The text editor allows a line
of text to be deleted, inserted, replaced and
listed for editing. You may also change a word
or expression within a line, stop or start text
while it is scrolling up the screen, begin
reading text from the first line of the file, re-
enter write mode from the editor, return to the
main-menu or create a window so that you
can read-edit two files simultaneously. The
print option takes text displayed in 30-column
format on the screen and outputs to either the
ZX/TS printer. (With Memotech’'s Centronics
Parallel Interface 80-column and lower/
higher - case output is possible.) Files may
be saved on tape cassette with the use of
one single command, or by the same token they
can be erased from memory / storage so that
the full capacity of the program can be used
for other purposes such as composing letters,
reports, articles, memos, standard forms,
instructions, ads, graphs, telephone
directory, lists of customers, members,
friends...etc. Also copies of files are always
less expensive and easier to run than using a
photocopier. Other advantages are savings in
time, paper, ink, correcting mistakes and
adding afterthoughts more efficiently than
doing them through either handwriting or
using a typewriter.
$16.95
POWERFUL AND INEXPENSIVE BUSINESS SOFTWARE
FOR ZX81, T/S1000 and T/S1500 COMPUTERS
ZX-CALC
(c) eta is RODRIQUEZ
HEH HHHHREBE #*
2 1
BUDGET
1
2
3 ERE eeERE eee
4 IAN FEB
hy RENT 320 308
‘] FRNTR 275 235
fm 8 =6DECOR 325 125
i 6 ELECTY 112 418
9 TELPHN 55 7s
it) §=<NoRY 35 25
ik) = FOOD 125 116
[M4 MEOCN 20 as
ik} INSRC 441 441
iyo CLTHS 165 215
15 es ee 35 35
TRARHREEEREAE HERE ESR ESRARERE EES
ele LeEcT OF ale
me ENTER/ERASE [3 <ICALCULATE
* Bais ’ @ CLEAR
An electronic spreadsheet calculator is the
fundamental basic tool for summarising, reporting
and analyzing in matrix form any accounting,
mathematical or scientific manipulation of num-
bers. ZX-Calc operates in 32-64K RAM and affords
a maximum of 3360 characters / spreadsheet. The
entire matrix consists of 15 columns (letters A-O)
and 30 rows (numbers 1-30) with 8 characters /
cell. Unlike other popular ESCs, ZX-Calc uses in
calculations and within cells all 14 mathfunctions
on the ZX-81/TS1000. It offers a unique *SUM
function that totals one or more rows/columns
simultaneously. Parenthesis can be used within
equations. There is no fixed limit on how many
equations may be entered. Formulas may be
stored in all 420 cells of the spreadsheet. The
display affords 15 rows/colums. Loading of data
into more than one cell can occur across/down
one or more row/column simultaneously. With
vertical windowing you can arrange a set of col-
umns in any order, or practice using fixed-variable-
alignment display formats. The menu offers 6
options: enter / erase, move, calculate, print, save
and clear the spreadsheet. Enter/erase allows
the entering, deletion or data alignment within a
cell through the use of a mobile cursor. With the
move option you may move around the entire
sreadsheet to access any row, column or cell.
The calculate option allows you to enter labels,
values or formulas into a cell or write and enter
equations that will act upon the data already within
the spreadsheet. You can also enter bar graphs
into acellinthis option. Absolute /relative replica-
tion, down/acrossacolumn/row, is alsoallowed
by this option. Also this option allows the auto-
matic calculation of the entire spreadsheet with
one single command. Printallows youto outputto
either the ZX/TS printer the entire spreadsheet by
column-sets and row-pages through use of the
COPY command. The entire spreadsheet may be
saved on cassette tape or you may clear all data
from it or erase the program from RAM entirely.
The most salient advantage provided by an ESC
over specifically vertical applications software is
that an ESC provides a reusable framework with
which you can compose any specific financial
model rather than just belimitedto only one stati-
cally fixed format for storing, displaying and
manipulating numerical data.
$16.95
ZX-CALENDAR
APPOINTMENT MADE
WNESE 04717784
waa” EVRN REED, CAREER
M 8:32 A.M,
SOUGNOSAB 1/72 HOUR
WORE 235° f0575RB,87-» NO.
E/OUTSIDE SALES,
INSID
ERLAND STORE, $35,000/YR
INGUAL A PLUS.
Time management is an important aspect of
any serious business and personal agenda.
Planning how to spend our time leaves us better
prepared before and while we are spending it
and we remain better organized after we finish
spending it. ZX-Calendar operates in 16-64K
RAM affording 25 appointments in 16K, 100 in
32K or 180 in 48K and 64K. Each
appointment record holds a maximum of 220
characters. The main menu includes enter,
search/check/sort, change, save, clear and
print any and all appointments made on a
specific date or with any party. Output to either
the ZX/TS printer is permissible. This program
will permit you to remember to do something or
to be somewhere important by cataloging your
answers to six questions that you must account
for in order not to waste time when it is scarce:
when, with whom, at what time, for how long,
where and what are you going to discuss and
conclude when you get together with someone
else? The program lets you permanently
originate, record, classify, search, sort,
Calculate, modify, summarize, obtain a written
report and store your answers to the preceding
questions so that you will not forget what you
decide to do with your time. This program
identifies your time according to when you are
going to spend it and with whom you are going
to share it. Through these forms of labeling
appointments you are able to verify or modify
how your time is budgeted without wasting ink,
paper or more time trying to remember what you
said to yourself or what someone else said to
you or where you placed certain written
messages that you now can't find. With this
program you will know where you can find
exactly what you need to know about where you
want to and have to be, or where you have been,
before you get and after you got there. Thus, ZX-
Calendar will let you plan your time so that you will
never have to worry about what is ahead or what
came before, for you will always know, by using it,
to never be caught astray by any time-frame.
$16.95
$3.00 SHIPPING AND HANDLING/PROGRAM
A.F.R. SOFTWARE - 1605 Pennsylvania Avenue, No. 204 - Miami Beach, Florida 33139
DEALER INQUIRIES WELCOME (305) 531-6464 FLORIDIANS ADD SALES TAX
L-1 © 1984
15-@
uv
Yr
63-@
4e-
Part I
**kk*kLet me start by easing your mind a bit. Just be-
cause this is called "Part One", don't assume that you
will have to wait for Part Two for the other half of a
program or the other half of a discussion! I can't stand
waiting for such things and I don't expect any 2068 user
reading this to wait either. YOU WILL HAVE A STAND-ALONE
PROGRAM WHEN WE ARE THROUGH WITH PART ONE...so read on!
Figure 1: Classy Front End Font
ie4 (NEXT UNE cope)
141 (INDENT cope)
200 (KERNING Cope)
To-¢ THT 7B "-@
4i-> 42-4
G0-¢ ale @z-6
Go-T 67-7 61-7 -@
-@
6-7 722 WH-G
BY PAUL BINGHAM
7. 41-9 46) 9958 OG SO e2-4 5-5 04-S
NS 2-1-6 OM SOIR T-SSCTBS
To many a "FRONT END" may be a new term, to others
it may already be an old and worn out computer industry
buzz word. A FRONT END has come rather loosely to mean
any user-friendly working environment for a machine, and
is typically replete with fancy fonts, icons & windows.
The Front End program is loaded first (or exists in the
machine as firmware) and other programs can then be run
and manipulated within the new environment.
Epson a few years.ago introduced a new computer
with such a program, but it ate up memory, slowed down
functions to a crawl, and the "many features" got tiring
to more experienced users. As is usually the case,
others learned from these mistakes and now we have
computers like Apple's MAC which owe all of their appeal
to their FRONT ENDS.
Although I use some of these other machines, I be-
lieve my favorite is still my 2068! Its design under the
hood is elegant; simple, uncommon speed and accuracy,
and so easily adaptable! One thing I never had a passion
for is the character set (or font) that comes with the
2068. But the problems with the font are also found (and
much worse) on the C-64 to IBM's PC! Let's look at a few
examples to see just what I mean.
Type in the words "big", "abode" and "pound". Do
the letters look uneven...sort of like my first-grader
wrote them? The fact is they ARE uneven. In order for
some letters to have tails (descenders and ascenders),
compromises are made. The rounded portions of the
letters no longer line up! This same thing is evident in
capitals as well. Type in the word "BEEF". Note that all
of the horizontals in the middle line up nicely. Now
type in "PHRASE". Few of these line up and the look is
disjointed.
Now type in "5010". Does the "1" look too small?
Try "BRIEF". Does the "I" look too small as well? The
lower case makes this even clearer. Type in "whimsical"
and "“militiaman". Do some of the letters seem to far
apart and others too cramped? All of these problems and
similar ones on other machines can all be traced to the
fact that each character is forced to be in an eight by
eight pixel grid. The "i" will never be as wide as_ the
"m" (although the computer designer has attempted it!).
So what to do...it would be of little use to redo
the 2068 font using the UDGs. They are 8x8 grids as
well. Some computer models have 5X9, 6X8, or other grid
sizes (like the QL) to try to compensate. But the only
true way to solve the problem is to let an "i" be an "i"
and an "m" be an "m". This is the way typesetters do it
and it is, in fact, the way the MACINTOSH does it. The
question is: "Can the 2068 do it?". The answer is: "Of
course!".
The font I have designed we can call NEW 2068
MEDIUM. It is close to ITC Souvenir Medium with a flavor
of Clarendon & Helvetica Condensed for all» you type-
setters. It still has an eight pixel height but the
width varies from eight down to three pixels. I have re-
defined 98 characters, including graphics which will
help us with icons, headers and windows later on. If you
don't like some of my characters, I won't be offended if
you alter them. After all, that's what I'm doing to
Uncle Clive's set! If you have a revelation, send it to
me, I might want to use it myself!
To print the new font, we cannot easily use the
PRINT command. But then the 2068 has at least three ways
to put things on the screen. We will use the PLOT rou-
tines as they address the screen by pixels and coor-
dinates can be altered easily to accomodate the new
three to eight widths. Listing 1 is a program in BASIC
and is simple to alter. The program reads the coor-
dinates from lines of BASIC, so can be used along with
any programs you care to write. It does not overwrite or
interfere with normal 2068 printing, so both can be used
at once if you wish!
Continued Next Page.
In Part Two we will look at the machine code
version of this program which is faster and can reside
most anywhere in memory. For those who have been en-
joying the excellent Z80 code lessons in TDM by Syd
Wyncoop for the past year, this will be a treat. Most of
the instructions have been covered in his articles
already!
Although Listing 1 looks incredibly long, it is oh
so simple! Line 1000 is the main loop which reads a line
of standard 2068 text. It will jump to line 33 to 201,
depending on which character code the loop finds next.
Simple, huh? If you wish to find which program line
draws which character, just look up the character code
number...they are listed in the 2068 manual starting
with page 239. The rest of the program is housecleaning
like keeping track of the end of the screen.
In Figure 1 are sketches of each of the 98 char-
acters in the new font. Under each is the character code
and a number showing the pixel width. Most are the same
symbol as the original set, four have changed greatly,
five were not symbols before but are now. Let's now go
over the changes. Number 96 was the famous pound symbol
but is now a square icon throwing a shadow. Number 123
{a bracket) is now an inverted underline symbol. Number
Figure 2
- THE 2068 COMPUTER CAN
Sy SEN EN Ie -<= Fun thou
“‘programsLN Im <= be ine
XPEnsively ExpandedLN IN <= perf
orm many math FunmctionsLN IN <=
entertain YOULN IN <= educate yo
U
SS THE 2668 COMPUTER CRA: SSE
«yun theusonds of procrams
* be inexpensively expended
* perform many math functions
* entartcin you
* aducate you
Listing 1
TS2068
1 REM CLASSY FRONT END Part i
45 PLOT x42,494+3:
@®.1: GRA -3,
46 PLOT x4+2,4941:
6.1: CRAY -1,8:
47 PLOT x+2,Y941:
X¥+#3,4U43: DRAW O,1:
1Q8 DIM n#t(2A8): GO TO 1808
32 GO TO 1138
33 PLOT x4+2,Y4+1:
T X4+2,4u4+3: DRAU 8,3: DRAW 1,8: 2
RAW @O,-3: GO TO 1146
34 PLOT x4+2,44+7: DRAW @,.-e2: PL
OT x45,44+5: DRAW &,2: GO TO 11728
33 PLOT X%4+1,4: DRAW O,7: PLOT
CRAW 1,0: PLO
CRAW O,1:
X+4,Y41:
“OH Ga £ fc
‘ GO TO 1150
48 PLOT x41,u+2:
pRaAu
RAW 2,8: PLOT x4+5,u42:
PLOT x4+3,y43: PLOT x4+4,y4+4: GO
124 a graphic symbol on British machines and the STICK
command on the 2068 is now a bar symbol (we come full
circle! ). Number 125 was a bracket and is now a_ series
of lines. Number 126 also a graphic symbol on British
machines and the FREE command on the 2068 is now a star.
Number 127 was a seldom used copyright symbol and is n
the cent symbol. Number 199 was the "less than/equa.
symbol and is now a small black square. Number 200 was
the "greater than/equal" symbol but is now a _ special
code for "Kerning". Typesetters use this to fit letters
like "L" and "Y" closer together than they would nor-
mally be. Number 184 was the LN symbol but we will use
it as a special code to jump to the next line. Number
191 was IN but we will use this as a code to indent
twenty spaces. Last is number 201 which was a "does not
equal" symbol and is now a hatched line symbol. The use-
fulness of some of these will become apparent in later
discussions, but are fun to experiment with now.
Experimenting will show that even though all the
new font's characters are the same height as the ori-
ginal Sinclair set, the spaces have been eliminated. A
line of mixed text can now contain sixty or more char-
acters per line! Try out the new symbols and the kerning
code. Some possiblilities are shown in Figures 2 and 3.
If the listing is beyond your patience to type in, send
$4 and I'll send you a copy on tape. Send ideas and any
questions you have, too, if you like! My address is:
Paul Bingham, POB 2034, Mesa, AZ 85204. See you next
time!
Figure 3
t'teea’ (2 $4,-./8125456789:;,<=
G®RBCDCEFGHIJKLMNOPORSTUVUKYZ TX 5
fabcdefghi jkimnopagrstuvwxyzt ST
CK + FREE @<=<>3=
Sse ety =, MIDTSETES 271 PF SRBCDEPGHIUELIN
al S}t_Dobcdefgiijkimnoparstevexyz
DRAW 3,0: DRA 57 PLOT x+5,y4¢2: ORAU O,1: DRA
Go TO 1172 WU -3,8: DRAU 8,3: DRAW 2,8: PLOT
DRAU 1,@: DRA *+1,y+4: DRAW @,1: PLOT x+2,y+1
Ge TO 11508 : DRAW 2,08: PLOT x4+5,y4+4: DRAU a
CRAW @.1: PLO Fe
PLOT x+4,44
GO TO 1158
58 PLOT x+2.y+4: CRAY 1,8: PLO
T x4+3,.442: DRAW -1,8: GO TO 1148
CRAW @,3: PLO 59 PLOT x+2,y4¢4: CRAWU 1,0: PLO
-2,@: DRAW @,5: T X4+2,yY: PLOT x+3,y41: CRAW @,1:
DRAW @,3 CRAW -1,@: GO TO 1148
6@ PLOT *4+1,494+3:
CRAW G.-G: PL
X4+4,4U: DRAW @,7: PLOT x,y+2: DRA +O D466 OT x~4¢1,y44¢4: DRAW S,3: PLOT *4+3.4
Wws,@: PLOT %,4¥4+6: DRAW 5,8: Go 49 GO SUB 112@: CDRAY 2,6: GRA #2: DRAU -1,1: DRAW G,1: DRA 1,
TO 1160 -1,0: DRAW @,5: PLOT x4+1,494+5: 6G 4: 60.-TO i115¢
36 PLOT x+3.y: CRAUWU O,7: PLOT G6 TO 1148 61 PLOT x,4+2: DRAW 8,2: PLOT
X+1,4U42: DRAW 1,06: CRAW O.-1: BR 5@ GO SUB 118@: CRAW @.1: DRAW x,ud¢d: DRAW @.2: GO TO 1150
AU 2,8: PLOT x4+4,u44: DRAW -2,8: 1,@: DRAW @,- _DRRY 2,8: PLOT 2 PLOT x*4+4,443: CDRAW -3,-3: PF
CRAW @,2: CRAY 2,0: PLOT x4+5,4y+ X4+1,445: PLOT x 446: CRAU 1,8: LOT x+4,444: DRAW -3,3: PLOT x+2
2: DRAW Q,1: PLOT x4+1,445: GO ro) PLOT x44,44+4: DRAW @,1: PLOT x+ »94+2: DRAW 2,1: DRAY &@,1: BRA
1160
37 PLOT x+3,y+58:
RAW -1,@: DRAU @,2
AW 4,2: DRAW @,-1: DRAW -1,8: BR
AW @,-2: CRAW 1,6: DRAW @,-1: DR
AW -1,-1: PLOT x+3,44+1: DRAW @,12
DRAW 1,@: BRAY &,2: GO TO 1178
38 PLOT x4+4,y441i: DRAW -1,-1: CG
RAW @,1: CRAW -1,8: DRAW 8,4: DR
PLOT x4+1,uU42: PLOT x43.4
#6: DRAW -2,-2: DRAY 2,-1: DRAW
1,0: GO TO 1152
CRAW -1,-1: CG
DRAW 1,1: BR
390 PLOT «43,447: ORAW @,-1: BR
AW -1,-1: 60 yd 1138
48 PLOT x43, PLOT *4#3,.yu4¢7: F
LOT x*4+2,u41: :
y+2: DRAW @,3: GO To 1149
42. PLOT x41,;U: PROT x4+1,yu4+7: FP
LOT x+2,4y41: ORAU B,5: PLOT x43,
y+2: DRAW @,3: GO TO 1149
42 PLOT X41 yt+d4: DRAW 1.1: DRA
We ot 3s PLOT X4+3,U43: DRAW @,4:
PLOT x4+5,y44: DRAW -1,1: DRAW 1,
1: GO TO 1168
43 PLOT x+3,y41: DRAW O@,4: PLO
T x+1,443: DRAW 4,08: GO TO 1168
44 PLOT x+2,4: SLOP x43,,y+1: BD
RAW @.2: CRAY -1,8: GO TO 1148
3,44+3: GO TO 11506
Si PLOT x41,.4942: PLOT x4+2,441:
CRAW 2,80: DRAY &G.5: CRAU -3,8@:
PLOT x45,44+2: BRAY 8,1: PLOT x45
»446: PLOT x+3,y44: GO TO 1168
52 PLOT *4+3,y41: ORAW 8,5: CORA
W -1,@: GRAW @,-1: PLOT k+4,443:
CRAW -3,@: BRAY &.2: GO TO 1158
53 PLOT x*41.4942: PLOT x*44.,.446:
CRAW -3,.@8@: BRAW &,.-2: CRAW 2,@:
PLOT x42,445: PLOT x+4.442: GRA
WOe,1: PLOT x+2,441: CRAW 1,8: G&G
Oo TO 1158
54 PLOT x+4,y41:
AW G@,1: BRAY -1,8:
Woi.@: CRAY @.28: PLOT x¢+4.y44¢4: BD
RAW -3,@: PLOT x4+5,u42: BRAY @,1
: PLOT x4+3,494+6: CRAYU 1,6: GO TQ
1168
55S PLOT x4+1.y41:
Wo1,0: DRAW @,1: CRAW 1,0: DRAW
@,2: DRAW -3,8: GO TO 1148
56 PLOT x+4,y4+1: CRAW -2,8: BR
AW @,1: DRAW -1,0: DRAW 0,1: CRA
Wii,@: CORA 8,3: CRRW 2,0: PLOT
X41,4Y45: PLOT x4+5,.445: PLOT x+3.
u¢4d4: DRA 1,8: PLOT x4+5,u¢2: DORA
UWO.1: GO Ta 1168
1G
CRAW -2,8: DR
CRAW @,1: DORA
CRAU O.2: DRA
771: Go -1O"2158
63 PLOT x41,4945: PLOT x4+3,4941:
DRAW 1,8: PLOT x42,4u46: DRAW 2,
@: CRAW @,.-1: BRAY 1,@: DRAW @,-
41: DRAW -1,8: BRAYU &@,-1: CRAWL -1
,6: GO TO 11628
64 PLOT x4+3,y9+2: DRAW -1,0: BR
AW @.,1: PLOT x41,445: PLOT *+3,4
#4: DRAW 1,8: BRAWL @,-3: BRAY 1.
@: PLOT x*4+6,y42: CRAY GS: PLOT
X4+2,4U46: CRAY 3.8: CO TO 1178
65 GO SUB 118@: CRAY @,4: PLOT
%42,441: DRAY @,5: DRAYU 2,8: PL
OT x~4+5,y4¢1: DRAW @.4: PLOT x+5,y9
+3: DRAW -2,8: GO Ta 1160
66 GO SUB 1188: DRAW @,5: PLOT
%¢4¢,4U4¢1: DRAW -2,8: DRAW O,5: &
RAW 2,0: PLOT *45.445: PLOT x43.
y4¢4: DRAW 1,8: PLOT x4+5,y42: GRA
ii @,.25--GO Th t4iSe
67 PLOT x4+1,.442: CORA 8,3:
T X44,4U41: DRAU -2,8: DRAW OO.
DRAW 2,@: PLOT x4+5,4u42: PLOT x45
»445: GO TO 1158
63 GO SUB 1128@: DCRAL &@,5S: PLOT
X4+4,4U41: DRAW -2,0: DRAW 8,5: BD
RAW 2,8: PLOT «45,5342: CRAY 8,3:
GO TO 1162
6S PLOT x+5.y4+1: ORAVU -4,8: BR
AW @,5: DRAW 4,2: DRAU -3,0: DRA
WO,-2: DRAW 2,8: DRAYU -2,@: GRA
Uo.-2: GO TO 1166
7@ PLOT x+5,446: CRAW -4,8: BR
AW @,-5: DRAW 1,86: DRAW 0.3: CRA
2,0: PLOT x4+2,445: GO TO 1158
‘Yi PLOT x*4+4,443: DRAW 1,8: GRA
@,-2: DRAW -3.0: CRAY O.5: BRA
-.2,0: PLOT x+1,u4+2: DRAU 0,3: P
LOT x4+5,y4u4+5: GO To 1160
72 GO SUB 118@: DRAU @,5: pDRAU
1,0: DRAW @,-5: DRAW ©.3: DRA
3,0: DRAW 8,2: DRAW @,-5: GO To
11628
73 GO SUB 1188: DRAW 2,8: DRAY
@,5: DRAW -2,8: ORAU 3,0: DORAL
-2,@: DRAW @,-5: GRAY 2,8: GO To
1158
74 PLOT x+2,y4+1: DRAW 2,8: DRA
@,5: DRAW 1,8: CRAW O,-4: PLOT
X+1,44+2: DRAW 2,1: GO TO 1162
75 GO SUB 1188: DRAW @,5: BRAY
1,@: DRAY @,-5: PLOT x+3,4u43: 6
RAW O.1: PLOT x+4,.442: PLOT x44,
Y+S: PLOT x+5,y41: PLOT x4+5,y46:
GO TO 1162
76 GO SUB 1128: DRAY 2@,.5: pRAY
aan DRAW @,-5: CRAW 3,0: GO To
77 GO SUB 1188: DRAU @,5: DRAU
1,0: DRAW @,-5: PLOT x+3,u45: P
LOT x+4,y4+4: PLOT x4+5,y45: CRAV
$335 DRAW @,1: DRAW @,-5S: GO Ta
rd
73 GO SUB 1188: pRAU @,5: DRAW
1,0: DRAW @,-5: PLOT x+3,u4¢5: fb
RAW O,-1: PLOT x4+4,.443: DRAU @,-
1: PLOT x+5,y41: DRAW @,5: Go To
1160
79 PLOT x+1,y+2: DRAW 0.3: PLO
T X+4,4U4+1: DORA -2,8: DRAU @,5:
DRAW 2,0: PLOT x+5,44+2: DRAW 2,3
: SOSEO Lise
8@ GO SUB 1188: DRAU @,5: BRAY
3,@: DRAW -2,8: DRAW O,-5: BRAY
6,2: DRAY 2,@: PLOT x4+5,y4¢4: BR
AW @,1: GO TO 1162@
61 PLOT x+3,44+3: PLOT x4+1,442:
DRAW @.3: PLOT x4+4,442: DRAU a,
~i: DRAW -2,.8: DRAW 8.5: DRAW 2,
@: PLOT x+5,y: DRAW B,5: GO To 1
S2 GO SUB 118@: DRAW G,5: pDRAU
»@: DRAU -2,8: DRRU @,-5: DRAL
®.2: DRAYU 2,8: DRAW &B,-1: DRAW
1,0: DRAW @,-1: PLOT *4+5,4944: DR
63 PLOT x4+1,y42:
WU @,-1: DRAW 2,8: PLOT X4+4,444:
DRAW 2,8: P
LOT x+5,u¢2:
y+5: GO TO 1162
DRAW 2,0: DRA
@,-5S: DRAW 1,2: DRAW @,5: DRA
2,0: GO TO 11688a
Wo1,0: DRAW @,-S: DRAW 2,8: PLOT
X+5,442: DRAW @,4: GO TO 115a
Wo1,0: DRAW @,-3: DRAW 1,8: DRAW
6,1: DRAW @,-3: DRAW 1,0: DRA
T X+6.4+5: DRAW @.1: GO TO 1168
87 PLOT x+1,.y4+2: DRAU @.4: GRA
7 ge BE >: DRAW @,2: DRAW @
,-2: DRAW @,4: PLOT x4
88 GO SUB 1198:
@,1: DRAW 1,8: DRAU @.1: BRAY 1
DRAW -1,0: CRAU a2,
1: DRAW
@: PLOT x+5,y442: PLOT X4#5,445: P
AU @,1: GO TO 116¢
CRAW 1,0: DRA
DRAW -2,0: DRAY @,2:
CRAU @,1: PLOT x41,
64 PLOT x4+1,4+6:
8S PLOT x+1,.y4+2: ORAW O.4: DRA
66 PLOT x4+1,44+5: CRAW O.1: DRA
®,1: PLOT x+5,44+3: CRAW 0,1: PLO
Wo1,0: DRAW @,-5S: CRAU 1,@: DRAW
5S,YU¢i1:
DRAW 1,0: BRAY
»@: DRAW @,1:
-1,8: BRAYWU 8,1: DRAW -1,
LOT X+6,y41: PLOT x4+6,446: GO Tao
11708
69 PLOT x+4,y444: DRAW O,-3: BR
AW -1,0: DRAW 8.3: DRAW -1,8: BR
AW @,1: DRAW -1,8: DRAW O,1: PLO
oad Sack PLOT x+5,445: GO To i
98 PLOT x+1,y44+6: DRAW 4,98: BRA
@.-1: DRAW -1,0: DRAW O,.-1: DBR
AW -1,8: DRAY @,-1: DRAW -1,8: fo
RAW @,-1: DRAW -1,8: DRAW @,-1:
DRAW 4,8: GO TO 1168
91 PLOT x+2,y: DRAW -1,8: DRAU
7: DRAW 1,8: GO TO 1136
2 PLOT xX+4,441: DRAW 0,1: PLO
£43,443: DRAW G11: PLOT X42 .54
S: DRAW @,1: GO TO 1158
93 PLOT x4+1,y: DRAW 1,0: DRAW
@,7: ORAW -1,8: GO TO 1130
94 PLOT x+l1,y+4: DRAU 2,2: DRA
W2,-2: DRAYU -2,2: DRAW O,-5: GO
TO 1162@
95 PLOT x,y: DRAW 7,8: GO TO 1
180
Ger?
FRED
$6 PLOT x+6,¥y:
@,5: DRAW 1,8: DRAW G,1:
»@: DRAW @,-5: DPRAYU -5,2@:
»o: GO TO 13288
97 PLOT x4+4,4+44:
AW -2,.0: DRAW 2.3:
OCRRW -5,08: CORA
DRAW 5
DRAW 2
CRRU @,-3: DBR
CRAW 1.8: PLO
T X¥4+1,442: DRA @.1: GO TO 11528
$8 GO SUB 1128: DRAW &.5: DRAW
@,-2: CRAY 2,8: ORAY @,.-3: DRA
-1,0: PLOT x4+4,4942: DCRAU 0,1: 6G
O TOG 1158
99 PLOT x+1.44+2: ORAU O.1: PLO
T X4+4,Y4¢1: DRA -2,8: DRAW 8,3:
DRAW 2,8: GO TO 1158
106 PLOT x+4.,446: DRAW O,.-5: oR
AU -2,0: DRAW 2,3: CRAY 1,8: PLO
T X¥4+1,44+2: DRAW @,1: GO TO 115@a
101 PLOT *+4,44+3: CRAW 8.1: DRA
W -2,@: DRAW @,-3: CRAY 2.8: CRA
W-1,0: DRAW @,1: DRAW -2,8: DRA
W@,1: GO TO 115¢e
102 PLOT x+1,.y444: DRAW 2,8: PLO
T X+2,4U4¢1: DRAW 6,5: PLOT X43, 454+
6: GO TO 1142
103 PLOT x4+4,y: DRAU G4: DRA
-2,0: BRAY @,-3: DRAU 1,0: PLOT
X¥+1,443: DRAW @,-1: PLOT x44,4:
DRAW -3,@: GO TO 1156
104 GO SUB 11838: CRAY @,5: PLOT
X+2,.494¢4: DRAW 1,6: PLOT x4+4,443
DRAU @,.-2: GO Te 1158
105 GO SUB 1188: CRAY 2.8: BRA
-1,0: DRAW 8,3: DRRU -1,0: PLOT
X¥42,4U46: GO TO 11246
166 PLOT x,y: DRAU 1.6: PLOT x+
2,4u4¢1 @,3: PLOT x4+2,446: G
107 GO SUB 118@: DRA @,5: PLOT
X+2,4+43: DRAW 1,6: DRAW B,-1: P
44 X4+4,Y4+1: PLOT x4+4,y44: GO To
1150
106 GO SUB 118@: CRAY 2,8: BRAY
-1,0: DRAW 8,5: PLOT x4+1,446: 6G
GO TG 1149
109 GO SUB 118@: DRAW &@,3: PLOT
X+2,4U+1: DRAW @,3: BRAY 3,8: PL
OF x+4,441: DRAW @,.2: PLOT x4+6,y
+1: DRAW @,2: GO TO 1178
1180 GO SUB 1188: DRAW @,3: PLOT
X42,49+1: BRAY @,3: DRAY 1,8: PL
OT x+4,441: BRAU G,2:
111 PLOT x+3,y41: CRAWU -1,8: BR
AW 8,3: DRAW 1,8: PLOT x4+1,442:
DRAW @,1: PLOT x4+4,442: DRAUW @,1
GO TO 1158
CRAU G4: DRA
“412 PLOT x41,y:
2,8: DRAW @,-3: DRAW -1.0: PLOT
X44,443: OCRAYW @2,-2: GO To 11528
113 PLOT x+4,y: DRAW O.4: DRAU
-2,@: DRAW @,-3: DRAY 1,0: PLOT
X41,494+3: DRAW &2,-21: GO To 1158
1i4d GO SUB 1188: DCRAL &@,3: PLOT
X42,Y+1: DRAW @,2: PLOT x43,4944
DRAW 1,8: GO To 1158
115 GO SUB 1182: DRAU 2.8: DRA
@,2: DRAW -2,8: PLOT x4+4,y42: P
Lok X4+¢4,Y4+4: DRAU -2,6: GO TO in
a)
116 PLOT x+2,44+1: DRAW 6.5: PLO
T X4+1,y44: DRAY 2,0: PLOT x4+3,44
i: GO FO 11498
GO TO 1158
117 PLOT x4+1,44+2: DRAU G,.2: PLO
T X+2,Y4+4: DRAW @,-3: DRAU 2,28:
DRAW @,3: GO TO 1158
118 PLOT x+1,y4+4: DRAW G,.-1: BR
AW 1,8: DRAW @,-1: CRAY 1.0: DRA
WO,-1: PLOT x+4,443: BDRAU 8,1:
GO TO 1158
119 PLOT x4+1,4+2: ORRAU G.2: PLO
T X*4+2,U4¢4: DRAY @,-3: DRAU 3.®8:
DRAW -1,0: DRAY @.2: PLOT x+6,494
2: DRAW @,2: GO Toe 11708
128 GO SUB 118@: PLOT x41,y44:
PLOT x4+4,y4+4: PLOT *44,441: PLOT
X4+2,4+2: DRAW 1,8: DRAYU 6,1: BR
AW -1,0: GO TO 1158
12l PLOT x4+1,y: DRAW 1,0: PLOT
X4+3,.Y4¢1: PLOT X4+1.443: GCRAU 8.1:
DRAW 1,8: DRA @,-2: DRAU 2,8:
DRAW @,2: GO TO 1156
id22 GO SUB 1188: DRAYU 3,6: PLOT
X+1,494+4: DRAW 3,8: PLOT x4+2,y42
: PLOT x4+3,443: GO TO 115¢8
123 PLOT x,y+7: CRAYW 5,0: GO Ta
1160
17
t2¢4 PLOT x4+1,4: DRAU @,.7: PLOT
X4+2,Y: DRAW @,7: GO To 1140
125 PLOT x,y: DRAW 5,8: PLOT x,
Ute: CRAYW 5,8: PLOT x,u¢d: BRAY
3,0: PLOT x*,y+6: DRAW 5,0: GO To
1160
126 GO SUB 110@: DRAW 3.3: PLOT
X+7,441: DRAW -2,.2: PLOT x4+2,44
1: DRAW 4,4: PLOT x4+5.,443: DORA
2,2: PLOT *+65,4u41: CRAW -4,4: PL
OF X4+4,444: BRAY @,3: PLOT *4+3,4
#3: DRAW -2,2: GO To 11388
127 PLOT xX+1.443: ORAU O.b: PLO
T X4+4,Y4+2: DRAW -2,8: DRAW a,3:
DRAW 2,8: PLOT *4+3,4: DRAW 8,2:
PLOT X43,4+5: BRAU @,2: GO TO in
52
164 GO SUB i138@
191 LET x=x4+28: RETURN
199 PLOT xX+1.443: DRAW O,1: PLO
T X¥42,u+3: DRAW @.14: GO TO 113@
260 LET x=x-1: RETURN
201 PLOT x.y: DRAU 2,0: PLOT x,
Y41: DRAW 2,2: PLOT x,yu4¢4: DRA
2,2: PLOT «x,y4¥+7: DRAW 2,8: GO TO
11308
Soo RETURN
180@ INPUT “PHRASE: “ings
1618 INPUT “PRINT AT “; FLASH 1;
tog Pishom OF" et to 209 os yy
12929 INPUT “PRINT AT ¥,"; FLASH
Age eee eae Oe 5-H Otis ex
1830 PRINT ns
1040 LET x=xx#8: LET y=168-yuca:
FOR t=1 TO 288: LET s=CODE nsi(t
} S60 -SU8 a: NEXT?
1@58 sTap
11008 PLOT x4+1,44+1: RETURN
1128 LET x=x+2: IF x3248 THEN Goa
TO 139@
1125 RETURN
113@ LET x=x4+3: IF x>248 THEN Go
TO 13808
1135 RETURN
1148 LET x=x+4: IF x3248 THEN Go
TO 1308
1145 RETURN
1158 LET x=x4+5: IF x>248 THEN Go
TO 1308
1155 RETURN
131608 LET x=x+6: IF x3248 THEN Go
TO 13902
1365 RETURN
117@ LET x=x+7: IF x>248 THEN Go
TO 139028
1175 RETURN
1160 LET x=x+8: IF x>245 THEN Go
TO 1302
1365 RETURN
1300 LET x=@: LET y=u-8: RETURN
$999 SAVE “CFE”
bet YH Fat
ea F oe]
g
STAR TREK
be ry em
+ Aer
g
& Game of strategy
T/S 2464 --7 LE
Witt gow accept
Send $8
h
; |
-93 to
chael E.
16 NE Ti
cr
Mi
19
Portland,
Based on the HP2000€ Publ ic Donain pProscan
VELS of pPlay--
the chattenger
g
Character Font Generator
Now, you can design your own
UDGs and character sets with
this great programmer's tool.
It even comes with 4 fonts to
get you started. Plus, it can
make sprites for use with the
Advanced Video Modes. One
joystick required.
Advanced Video Modes
The most complete package for
utilizing all of the T/S 2068's
enhanced screen displays to their
fullest. It provides access to 32,
64, and even 8O columns, plus
dual screen and extended colour
modes. Updates are available
for just $800 Can/US.
$1500 US $2000 Canf'$2000 US $2500 Can
Send cheque or money order for $1.50 US/Can. to receive our catalogue complete with
Demonstration Tape V3.0 plus bonus programs. And remember, we still pay the
postage & handling charges on all our orders!
756 Fleming Avenue, Winnipeg, Manitoba, R2K 1V5
"The best DAM software around
eS The following program listing is for the Timex
\\ Sinclair 2068. CUBE-IT is a game loosely based on the
JUMBLE Word-Cube game by Parker Brothers, which was
6)* C BS ic. = | T popular about 5 to 10 years ago. Instead of a 5x5 grid,
[ i I use a 6X6. The letters are chosen completely at random
from the A$ (Line 30) in order of most used. The game
By Ralph Hammer also features full instructions on the screen, a two-
minute timer, a copy option using the TS2040 printer,
1@ REM .CUBE-IT. VERSION 2.1.7- and a scoring ledger. CUBE-IT is fun to play for ages
sia aaa eke Bake 6 to 96. Give it a try!
ee LL 47450: PURC ecsbot,c: . * .
LET MUSIC=708@:. LET Fat=s2a:. LET I will also send the program on a high-quality tape
THIN=888: GO SUR 2a: GO SUB THI to anyone who does not want to type in the LLISTing, for
s = Sea ee $4.00. Ralph Hammer, 7 Baer Drive, Las Vegas, NV 89115.
O@ LET AsSS"ETAONRISHDLFCHUSYPU
BUVKXUOZ": LET Ls=" = = =:
; 165 PRINT “By: Ralph Hammer, La 275 IF Ig="4" THEN Go To isea
5SQ@ REM Continue & Vegas, Nev"iLs : BBQ IF Ig="S" THEN GO TS issa
188 REM -TITLE PHGE- 17S REM -PoOETRY- 335 GO To 255 = = i
185 BORDER &: BRIGHT i 188 60 SUB FAT: PRINT “‘"‘GRAB A pot cei
: INK @: BRIGHT @: CLS PEN, AND SOME PAPER, IT‘STIME T 38a REM -GAME- ts Se
4118 PRINT °" SSF THE O PLAY A WORD SEARCH CAPER" ot ae ae 6: BRIGHT 1: PAPER 6
" 185 PRINT “"PLAY IT SOLO, EVEN CE ze A RET Pe en's
115 PRINT " AB TWO OR MORE. SEE WHO GETS THE FI 31@ GO SUB _i5@a: GO SUB THIN _
450 PRINT ° De RST HI.SCORE.” GIS PRINT FLASH 1;HT 12,2; "SSI
125 PRINT * a2 18@ PRINT "NOW DON'T BE SHY, 0 HXBISNScHe Scere Scese5S -
138 PRINT " RE R_VERY TARDY.PUSH A KEY FOR A SE _Se@ FOR I=i 1G 18: FOR J=3 TO 1
135 PRINT " ae ARCHING PARTY" 5S: BEEP .@83,3: NEXT J: NEXT I _
ees ; 195 GO SUB THIN: GO SUB HUSIc 325 GO SUB L588: RANDOMIZE : LE
142 PLOT 64,158: DRAW @,-3a: 280 PAUSE NOT x: BEEP .@5,5 TLRSPEER S20 70+e55ePEEK 20673
AU 20,8: PLOT 33.15@: DRaY a. 225 REM -NENU- 330 60 SUB 1788: GO SUB THIN
: DRA = 2: PLOT 66 458: DRL 234 BORDER 4: SRIGHT FAPER 4 482 REM -TINER-
is@- PLOT €3,158: DaAU &,-sa- : CLs 410 BEEP .2,1@: PAPER 2: INK 7
145 PLOT S85 155: DRAW O.-46: DR 235 PRINT BRIGHT 1: PRINT AT 18,18; "
W 28,8: DRAU 8,38: DRAW -18,20: )2 CUBE-IT ; ail ade ae
Star és ibe DRA a. ae PLOT ii 24a INK @ 415 LET Y=FEEK 23672: FOR M=2a T
2, a oh BO —" Fee eel OE 4 . as Bim eS = a es. i sy —sf rm =
4,120: SRAU 8,30 Ct eae fess eae fie re eee
15@ PLOT i28,435 DRAL 18,8: DR e2ed5 FR 428 EET ASPOOR cuore iF HOD tA
AU @,15: DRAW Bele: DRA @, se: SO SUB F “Yisss THEN GO TO 428 |
SQ: DRAU'@,-15: PLOT 126 6p “E-IT"*"-"" 3, PEAY GAME™*7* "79; TAB 17;":";T: NEXT T: Bi
au a — 3%: PLOT 144,423: = RAKE BACK-UP TAPES" §&. Bees ee 225,11
ISS SLOT BSS.is5. peau a pESS_PAUSE @: LET IS-INKEY$: BEE 430 NEXT 5: NEXT MH: BEEP . 3)...
ar aoe a ge ees a .05,5 BEEP 1.339
fll 20,8: BRA @,S: PLOT 5a aze% ge Pe Oe Se eee eee ag IS Se BS
ane aa age ot 549746 7 268 IF Ig=s"1i" THEN Go To 322 435 PRINT AT 13,13; "°2:88:8": BE
iid ee; . _= _= é + * “ Sas IF 3 & = =" —? TMor. mm To 44 A i—4 = - 4 %al corrcnt 4 I=
@,-46: PLOT 225,128: DRA ae Se eee, Set oe we ee EP a eae: BEEP «3,15
Lea PRINT : a’ FUN-FoR- ii LORD 272 IF Ts="3 THEN SO TO 32a 442 INK @: PRINT AT 22 if FLAS
Se ae 2 445 PRPER 6: FRAUSE ise
Sea REM - 38a REN 1120 PRINT °" TO SCORE THE GAME
Sa5 co su 9,2;" S8S PoK OF Ue“ CUBE-IT""" ree RE
{R> RE-DRAU SCORING ® 988 REM ii2S PRINT “JUST THE NUMBE
510 PRINT 4C> COPY CUBE TO 985 BORD R_OF
PRINTER"’’* <> ANOEHER GAME" ie 1130 P
" <M4> MAIN MENU": GO SUB THIN gia ae re
fr. PAUSE @: LET IgsINKEYS: IF gis i135 6
C" THEN LET 528: GO TO 53a eee isaa Pp
\ 4 IF Igs"A" THEN Go To 32a 328 8°; TAB
S25 THEN GO TO 225 AHE oO 1218 DATA
53a SUB 1582: RANDO oD WIL ife8 RESTO
MIZE RB: 7288: GO SUB i2ea 925 READ JU: P =
: GO F NOT S THEN COP UTE T “TAB 26-L
Y ai ¥ 1238 RETURN
535 (COPY 932 PR T 1282 REM =7
£p 2 ERY T Wo, THR 5 L385 BORDER =
NKEY Oo S535 LETTER HAT C : CLEAR
Saa To 3a ITHIh Srp? 1318 SAVE “CUBE” LINE. 18: BEEP 2
2 o25 RITE ,25: PRINT INK 7; "Piay tape; pre
545 GO To 225 WORDS ou cA SS a key to verify"
S@a REM -FRAME- THE Ti THUTE 1315 PRUSE @: £h5 VERIFY CUBE
685 PLOT 57,150: DRAW 142,03: PL oda IN: & “: BEEP 2,25: RUN
OT 58,149: DRAW 139,2@: PLOT 59,1 55 A iTI 1358 REM -
43: DRA 133,20 345 A355 SORE
612 PLOT 57,58: DRAW 142,28: PLO BEEP ee
T 58,51: SRA 139,8: PLOT 59,52 asa 1368 SOUND
DRAW 135,2 IN AN 1355 FoR I
615 PLOT i99,452: -128@ VER 13728 SOUND
PLOT 198,15@: DRAU os5 1375 NEXT
622 PLOT 57,152: 198: P coms 1282 FOR D
LOT 58,149: DRAU oO OT i199 IONS 12385 SOUND
,15@: GRAY @,-iae2: 3,152 360 PRINT WH 16;:12,56; 1%
DRAW @,-99 - A LETTER Mii 1338 PAUSE
625 LET X=57: LET Y=i408: LET Z= LETTER = 41395 SOUND
a oR AT A co 1488 PRINT
6308 PLOT X,132a: DRAW Y,2Z: PLOT $65 PRINT ° "6 : LOW ee
KX,115: DRAW Y,Z: PLOT X,18@8: DRA TO FORM THE 0: HOF ; i 1582 Mo
Wo¥,Z: PLOT X,84: DRAW Y,Z: PLOT LETTER TWICE" isia ee
%,68: DRAW Y,Z O72 PRINT ““FOR EXAMPLE: * ;
635 LET X=15@: LET y=@: LET 2Z=- 975 _ PRINT 4
ag 3 6 TO SPELL
642 PLOT 88,x%: DRAW ¥Y,Z: PLOT i 382 GO Sus
@4,X: DRAW ¥Y,Z: PLOT 128,*: DRAW So_ANY KEY
Y,Z: PLOT 152,xX: DRAW Y,2: PLOT 985 PAUSE
175,%: BRA Y,Z BEEP .85,5
645 RETURN SS2@ PRINT
TT. => OS B34 ry
788 REM -HUSIc- Be eager ibis"ind
785 FOR xX=2 To 128 LE SRE Gots 1648 GO sus
7id@ LET F=INT (RNDse5s3 ee ee gs et AE
715 SOUND 3,F;8,15; 7,82 yet ys See A fe
720 PAUSE 10: IF _INKEY$<>"" THE REACH SOO 1650 PAUSE
NULET X=@: GO TO 730 THE WINNER. | fe #88,5:" 0
oS NEXT x 1880 FRINT < ALL mi zs itt ; 3 pe x oe ee wae a 3 a
2 SOUND 7,63; 8,8: RETURN 6 LEGAL NAHESAND ""SLANG"" iS 61660 IF ig='P), THEN GO TO 502
-@ REM -HC!FAT- ARE PERMITTED. © OES Te Ne
885 CATA 17,0,253,213,1,8,3,42, i885 PRINT (“AB SUC oo | heen
A~ 3c ac = 34 Ion 42 a4 7 : t LiLiAnie Ss nr patie at a FS i | bn 0) be TS
54,92,36,126,167,31,182,18,35,19 OREIGN WORDS mar f@O REM - PRINT LETTERS-
,13,32,246,16,244,225,37,34,54,9 1818 PRINT *“Go 2710 PRINT ~~; BORDER @: LET Tsu
== sig” = i page SR eei?y: FOR T=i1 To 6
2,201 FUN a ‘il TT iT Tae cee mie Re en ie a
$1@ FOR I=64737 To 94785 ig@2a GO To isae Seer ee ee Tee oe Fo 6
S15 READ J: POKE I,J: NEXT I: R 1188 REM -5cCCRE- Ge FR Es ie SS a ee eg Bg
ETURN 1105 BORDER S: BRIGHT 1: PAPER § 49 THEN IF INT (RND#2) THEN LET
asa REM -FAT- 1118 GO SUB isae iS Se ee eee
S55 RANDOMIZE USR S477: RETURN 11415 ar tag AT 1,19; INK 7; PAPER 1740 TF 7T>8 THEN IF INT (RND#e2)
. . x es * "SAT 2,9; INK @; FLASH THEN LET T=a tae ee
Pn ‘SABER See OO ROT CH. Ge? L7o0 iF NOT -T THEN=GO TO i728
FGM PRINT AsiTi;* S
1772 NEXT J: PRINT ‘*: NEXT I
1788 GO SUB 688: RETURN
Now at last.
The FootePrint Printer Interface
The FootePrint Printer Interface was originally described in the January-March 1985 issues of SUM Magazine.
Now improved and professionally built, it is available direct from the designer! FootePrint plugs into the
cartridge slot of the TS-2068 and works with both Tasman (B and C) and Aerco print driver software. Just
load the software and print. No POKES required. No modifications.
© for Centronics parallel printers © plugs into cartridge dock—door completely
e works in both 2068 and Spectrum mode closes with cable running back under computer
© compatible with OS-64 & Spectrum emulators : frees Bs ar: ue Aiegheae. owing a
eripherals to be used; less chance of a cras
e EPROM socket and on/off switch on board —
@ print driver software for LPRINT, LLIST, and
COPY included for 2068 and Spectrum modes
FootePrint Interface w/software & cable ............$45° postpaid
FootePrint with OS-64 option included .............$65°° postpaid
el Bare board G instructions only .............. Lessee + $20°° postpaid
Cable only for use with bare board ................ .. $15°° postpaid
All prices are pre-paid and include shipping charges. Florida residents must add 5% state sales tax.
FOOTE <, SOFTWARE P. O. Box 14655 — Gainesville, FL 32604 904/462 1086 (6 pm - 9 pm EDT)
® requires no modifications to computer
“The Mystery of the Missing 253”
CONCLUSION
By Wes Brtzorowski
Wher & Wer?’ we Been
It's been wonderful to see how much interest there still is
toward TS2068 bank switching. Now it's time to tie up the loose
ends we've left, provide a firm direction for your .own further
study, and close the series up.
For those just tuning in, we've been discussing the ROM
code, searching the Technical Manual, and scouring various
obscure sources to learn all we can about Timex's original plans
for extended bank switching. Timex originally promised 256 banks
of 64k each, and delivered a machine that could passably control
3 (really only 2 1/8, for you purists out there).
We've uncovered a method that could logically control the
"Missing 253". (We've seen that the ROM software as is, limits
itself to only 10 extra banks, but this is a mere technicality.)
We then took a basic look at how that method works. We saw how
the hardware and software were to have meshed together through
only two small subroutines. This is a good system design practice
and is a typical example of how hardware should be controlled by
a processor. This allows hardware changes to be corrected through
minimal software modifications, and will be a key factor in
making extended bank switching practical.
Following all this, we endured an excruciatingly detailed
description of what the hardware must and must not do. (Al-
ternately, this is what the system must be able to SIMULATE.)
We've been going through the EXROM software that initializes the
banks, calling attention to many obvious bugs along the way. All
of this would be needed for an interested user to design a_ bank
switching system that simply wouldn't crash the TS2068 on power-
up.
As a secondary effort, we've looked at an easy way to
correct the ROM bugs, and toward the special I/O software that
would have dovetailed with bank switching. We've little more than
hinted about various blocks of I/O software in the ROM that are
never used. We've also seen a little of how the RAM Resident Code
would have supported bank switching, and will supply a_ better
description before we're through.
First,
ting Flippin’
Fimi mh
Fliowchar ts
Flowcharts 7 and 8 cover the last of the initialization
software for the expansion banks. Both point out major bugs in
the routines that initialize RAM banks and renumber the banks. To
save text here, I've tried to make these two as self-explanatory
as possible.
If you've made up a memory map of the EXROM routines we've
covered, you'll see two gaping holes. The smaller of the two is
merely a copy of Spectrum code that intializes some of the more
mundane system variables. These are put off until after the bank
switching is initialized, because programs running in the cart-
ridge slot can take up some extra memory, affecting the values of
these variables. However, this routine is of no interest to us,
and should be left alone.
The larger hole is filled by an unused routine that a _ per-
forms a "warm reset" on the SYSCON table. This was once intended
to be accessed by certain forms of the RESET command, from BASIC.
We'll discuss the RESET command a little more in a moment, but
flowcharting this routine should be an excellent exercise for
those of you who've followed the series this far. Since the
routine is not essential to this subject, we can't cover it
further here.
Our detailed discussion of the code has now covered all the
useful initialization routines, the lowest-level RAM Resident
Code that actually communicates with the hardware, and the in-
termediate-level RAM Resident Code, which talks to the low-level
stuff. (Whew! )
A Promise Fulfilled
A long, long time ago, I said I'd provide a better des-
cription of the RAM Resident Code, and the routines that don't
relocate properly to high memory. It's time to set things right.
The full page table, titled "RAM Resident Code - Routines, Usage,
and Notes", is a reasonably complete "cheat sheet" on using the
routines. Hopefully it's fairly free of typos and its small print
will reproduce well on these pages. This will tell you most
everything you need to know in order to use the routines, in-
cluding how to correct them in low memory. Note that the
following locations do NOT relocate properly when the code is in
high memory:
FC49/4A
FC&C/D
FCCE-FCDO
FCD&é-FCD8
FFO4/5
FFOF-FF11
14
Without correcting the EXROM, you'll have to fix these every
time the second display file is opened. CAUTION: you also have to
change them BACK before closing the second display file, or the
relocation to low memory will be messed up.
By the way, the good folks at Timex left an interesting
chicken-and-egg situation. It shouldn't be hard to imagine code
that contains routines that open and close the second display
file, and also routines that use the RAM Resident Code. If they
operate independently, it may become necessary to find out where
the RAM Res Code is at any given moment, so you'll know whether
to CALL the low or the high addresses.
Now, the "standard" Timex way of finding out is to check the
system variable VIDMOD, which will be non-zero if the second
display file is open, and hence, the RAM Res Code is in high
memory. The problem arises when the memory chunk containing
VIDMOD is not enabled for the Home Bank; how do you get at the
variable? Well, we might first consider one of the RAM Resident
Routines, GET WORD, which can read the contents of any memory
location in any bank. Phat can read the variable.
But we can't use GET WORD, because we don't know whether
it's in low or high memory! If we did, we wouldn't need to read
VIDMOD in the first place! Fortunately, the SP register (the
Stack Pointer) can get us out of this mess. This is because the
stack always follows the RAM Res Code around in memory, so if the
stack is in high memory, so is the code.
Unfortunately, there's no instruction that moves SP to
another register. To get around this, LD HL,0000 and then ADD HL,
SP. This effectively puts SP into HL, and let's us find where the
RAM Resident Code is. The method suggested by Timex (using
VIDMOD), can be very unreliable; you might consider using this
method, instead.
Aas Sstromgqg As It’s Weakest Link
If you've used an assembler on the TS2068 to write a machine
code program larger than 2k or so, you've probably noticed thas
you have problems getting your source code to fit in the ava
able memory. That's because a line of source text, which con.
take 10 or 20 bytes, will assemble into an instruction only 1 to
4 bytes long. While certain Spectrum assemblers have clever
ways
to get around this problem, we usually just break the code into
smaller pieces, assemble them separately (usually with some mod-
ifications), and then link the separate pieces together by hand.
It should be no surprise that the assemblers used on some of
the computers that the "big kids" use, can do this linking auto-
matically. Code is assembled in separate "modules", with special
reference commands for labels that are actually pointing to an
external module. These separate modules are then linked by a
program that's unimaginatively called, a "linker". Those of you
who've seen the Timex listing of the "TS2000" ROM code will have
seen how this works. (Since it makes the code harder to follow,
you've probably cursed it, as well.) Still, this allows a _ com-
puter to assemble a program that's even as large as it's full
memory capacity.
Table 1: RAM Resident Code - Routines, Usage, and Notes
6200-62AD Function Dispatcher - Perforas a CALL or JP froa any bank to some
F9CO-FRSD = HOME & EXROM bank routines
SAMPLE USAGE - LD DE, #0000
PUSH DE ySet input & output paraas
PUSH DE jto zero
LD DE, function # ;From Tech Manual Table 3.3.4-2
PUSH DE pNSBel for JP, 0 for CALL
(here we set up the registers & such as
if CALLing the routine fro HOME bank)
CALL #5200 or #F9C0
NOTES:Routine address lookup table only points to low-meaory addresses for
RAM-Resident Code routines. DO NOT try to use the Function Dispatcher to
access another RAM Resident routine if they are located in high eeaory !!!
62AE-6306 Link to Interrupt Handler in HOME ROM. Allows keyboard interrupt
FAGE-FACe = routine at HOME ROM 02E1 to be accessed, if HOME ROM does not
control chunk 0, but chunk 0 seaory links to this
NOTES:Can be sodified to point to a different routine, but beware of 5 pairs
of bytes that get changed when this routine is relocated
6307-6314 Copy of NMI handler in HOME ROM. Not used at all
FAC7-FAD4
6315 BS_MAX_BNK A copy of the MAXBNK systea variable. Allows access to this
FADS parameter, even when HOME Bank does not control Chunk 2
6316-633A GET_WORD Perforas an effective LD HL, (HL) where (HL) is an address
FADS-FAFA in any bank; not necessarily one that is active
SAMPLE USAGE - LD HL, address
LD By bank #
CALL 96316 or #FADS
633B-635B PUT_WORD Perforas an effective LD (HL),DE where (HL) is an address
FAFB-FB1B in any bank; not necessarily one that is active.
SAMPLE USAGE - LD DE,word to be sent
LD HL, address
LD B,bank#
CALL #6338 or 4FAFB
NOTES: This routine contains BUGS. TM6.5.3 gives adequate corrections. These
corrections will relocate properly.
S35C-S3AC WRITE_BS_REG Writes the value in register E to Bank Switching
FBIC-FB6C Register whose nuaber is in D. Avoid using this routine. Let
the RAM Resident Code access it for you,
NOTES: For those who’d like to change this to drive a saner hardware archi-
tecture, the original code is located at XI15C-X11AC & copied to HOME RAN
S3AD-6404 READ _BS_REG Reads Bank Switching Register (single nybble) whose
FBOD-FBC4 = nuaber is in register D, & another fros register whose nuaber
is in register E. Packs both into E register. Avoid using this
routine. Let the RAM Resident Code access it for you.
NOTES:For those who’d like to change this to drive a saner hardware archi-
tecture, the original code is located at X11AD-X1204 & copied to HOME RAM
6405-644C GET_STATUS Gets the Horizontal Select Byte (lo-active) for the
FBCS-FCOC = desired bank into the C register. If it’s an expansion bank,
the status will also be returned in the B register
SAMPLE USAGE - LD B,bank &
CALL #6405 or #FBCS
MOTES: Because of the flakey way that I/O port F4 is used as a Horizontal
select for all 3 standard banks, they may "claia posession® of chunks
actually controlled by expansion banks. This routine should be used by a
larger one, that checks all expansion banks as well as standard banks, and
uses the information as a coherent whole. Also, this routine contains BUGS
corrected in TM6,5.2, though they can’t correct the above probles.
644D-645D GET_CHUNK Computes the chunk for a given address
FCOD-FCID
SAMPLE USAGE - LD HL, address
CALL $644) or SFCOD
(return with A=Horiz Select Mask - hi-true)
OASE-6498 GET_NUMBER Returns the bank 4 for a given address
FCLE-FCS8
SAMPLE USAGE - LD HL, address
CALL #645E or SFCIE
(return with A=bank 4)
KOTES:Handles “oddness* in GET_STATUS by checking expansion banks first. Has
a BUG, per M6.5.6. Should not be used if there’s a chance the EXROM aight
be in use,
SO ee re ee een eee nee een eee nnn nn ae eee eee wees eweenencece
6499-6510 BANK ENABLE Gives control of desired chunks to specified banks
FCS9-FCOD
SAMPLE USAGE - LD Bybank #
LD C,horiz select (lo-true)
CALL 96499 or 9FC59
MOTES:Contains BUGS per TM4,5.4. The aanual gives an adequate fix, but a
neater fix would be to put F3 at 649A, and FB at 651B. Also, errors in the
EXRON relocation table PREVENT THIS ROUTINE FROM RELOCATING PROPERLY!
"The Mystery of the Missing 253"
651E-6549 SAVE STATUS Used internally to save bank inforaation before making
FCDE-FDO9 = temporary Horiz Select changes; eg, CALLing a routine in another
bank.
654A-6571 RESTORE STATUS Used internally to put all banks back as they were
FDOA-FD3} before SAVE STATUS was CALLed.
NOTES: This will undo any video aode changes sade since CALLing SAVE STATUS,
as well as other port FF control bits, per TM4.5.5. Contains a BUG, which
can be fixed per TM6.5.4
6572-658) GOTO_BANK Perforas an effective JP to any bank. Does not pass
FD32-FD4D any parameters,
SAMPLE USAGE - PUSH address :
PUSH Bank#/Horiz select (lo-true)
CALL #6572 or #FD32
NOTES: This routine acts like a JP, even though it’s accessed through a CALL
658E-65CD Bank Switching Stack - An additional stack, siaulated in software.
FD4E-FD8D Each time CALL_BANK is run, the return address and PRM_IN go here
S5CE-65CF BS_SP - The Bank Switching Stack Pointer. Used to siaulate the Bank
FDSE-FDB8F = Switching Stack
6500-6688 CALL_BANK Performs an effective CALL to any bank, and contains pro-
FD90-FE4B = visions to pass parameters,
SAMPLE USAGE - PUSH the parameters (# of bytes is called PARAM OUT)
PUSH address
PUSH bank #/horiz select (lo-true)
PUSH PARAM OUT
PUSH PARAM_IN
CALL #6500 or #FD90
NOTES: Contains a BUG which aay be fixed per TN&.5.4. Also, PARAM_IN and
PARAM_OUT represent the nuaber of bytes; not the nuaber of PUSHes
6bBC-66E7 MOVE BYTES Used only as a subroutine to XFER_BYTES, and is intended
FESC-FEA7 ~— to transfer bytes between banks when source and destination
chunks overlap and the transfer is between two different banks,
NOTES: Contains numerous BUGS which are not documented in the Technical Manual.
Due to the programaer’s misunderstanding of the subtleties of LDIR and LDOR,
and the differences in their usage, some counters are not properly updated,
and some interaediate transfers can be sade to the wrong part of the stack,
destroying critical information. Major bugs can be tolerated by putting hex
73 at G6DF, and hex 72 at 66E2, Still, this routine can only be used in the
LDIR node; fortunately, the LDDR case is not needed where this is used.
66E8-6721 CREATE BITMAP Used only as a subroutine to XFER BYTES, and is
FEAG-FEEL intended to produce a low-true “Horizontal Select® byte fay all
the chunks involved in either the source or destination bank for
a data transfer.
NOTES: Contains undocugented BUGS. Due to isproper coaputation of first and/or
last bytes in a data transfer, this @ay give an improper result, when the
error in coaputation straddles a chunk boundary. These can be corrected by
inserting at b4F3 and followings hex 0B, 3C,28
6722-6814 XFER_BYTES An intelligent transfer routine to aove data between
FEE2-FFD4 — banks, but also intended to allow transfer within a single bank,
wether or not all the necessary chunks are enabled.
SAMPLE USAGE - PUSH source bank #/dest bank #
PUSH source addr
PUSH dest addr
PUSH # bytes
PUSH direction ;0000 - like LDIR, FFFF - like LDDR
CALL #6722 or #FEE2
NOTES:Contrary to its description in the Tecnical Manual, this routine was
intended to be able to do transfers between larger seaory areas than just a
Single source chunk and a single destination chunk. The eentioned liaitation
was probably intended to mask one of the probleas in this routine, Also, this
routine does not relocate properly to high aemory. This routine requires that
the machine stack be in its proper location in the RAM Resident Code. It was
not intended to be able to transfer data into or out of the chunk that
currently contains the RAM Resident Code, If the stack is nearly full, the
transter will be aborted, without notifying the CALLing routine. A status
flag, intended to perfora such a warning gets corrupted before coepletion.
The Tecnical Manual docusents only one bug, but several changes are needed to
get this working properly. Location 6722 gets 00, 672B gets 08, 676A gets SF
(that one is the Tech Manual fix), 67C2 gets 2C, and 67FF gets 00. Because
this code would normally be used to initialize expansion banks, it’s possible
that this routine would have ta be fixed before they could be debugged. With
these fixes, AF is no longer preserved, and A is now returned with a status
code. It will contain 00 if the transfer was sucessful, and 01 if it was
aborted, due to insufficient stack space. Because of the aforeaentioned and
not readily correctable bug in MOVE BYTES, using this routine in the LDDR
mode can crash the systea in some cases, The only tiae the LDDR sode aay
really be needed would be certain times when the source and destination areas
overlap WITHIN THE SAME BANK. This case does not cause the probles, so if the
use of the LDDR sode is liaited to this case, there will be no trouble.
6815-6823 GOTO_EXT A routine intended for use only during initialization. Does
FFDS-FFE3 an effective JP (HL) to the EXROM. Would not work properly if
expansion banks were enabled in chunk 0, hence its suitability
only for system initialization.
Unfortunately, the addition of bank switching caused a
problem that most linkers can't handle; there are two blocks of
code with identical memory addresses. This means that the Timex
folks had to go back to the old method of assembling (and
linking) the Home ROM code and the EXROM code in two separate
batches, and then linking them by hand. For a program of that
size, this is an incredible problem. Every time the code is re-
assembled, the hand linking must be done over again! And a pro-
gram this size would get reassembled a lot. This just begs for a
few spots to get "missed", and they certainly did.
We might expect to find these incorrect links where an in-
struction in one ROM references an address in the other ROM. We'd
also expect that the incorrect address will be nearly correct,
since it was probably correctly linked once, but the addition or
deletion of a few instructions somewhere will have shifted every-
thing in memory slightly. This is, in fact, only one way that
mis-linking can make our lives miserable.
The earlier mention that some of the RAM Resident Code does
not relocate properly to high memory is another example. You see,
the EXROM contains a "relocation table", which is supposed to
point to the various spots of the RAM Res Code that need
changing. For example, the second and third bytes of a CALL in-
struction contain a memory address that must be changed if the
code being CALLed gets moved.
Sadly, the programmers could have used labels in their
assembly code to make the assembler produce a perfect relocation
table. If we look at the end of the RAM Res Code listing (they
call it. the fixup table) in appendix A of the TS2068 Technical
Manual, we can see that they instead chose to figure the numbers
Too bad.
out by hand, and insert them directly into the code.
Q*ber in action!
APPOINTNENTS
xx NENW *%
JANUARY 198?
SU NO TU WE TH FR SR
A253
A Enter appointnents
B Vien appointnents
C Print appointnents
h Main henu
43 £27 4-438
11 12 13 14 15 16 1?
18 19 20 21 22 23 24
' 25 26 2? 28 29 30 31
PRINTOUT APPOINTNENTS FOR WICH DRTEY
¥xThe Desk COPYRIGHT 1986 BYTE POWER WRITTEN EY K BOLSUERTES
SCORE : 66010 CHOPPERS: # #
STOLEN PIECES:@ BRIDGE -4
CONSTRUX IN ACTION!
ST CLASS MAGAZINE
= A major breakthrough for the T/S 2066,
BYTE POWER is the ultinate
is full of prograns, a real T/5 2066 owner’s drean.
Another EXROM table that didn't get fixed properly is the
address table that the Function Dispatcher uses to find various
ROM routines. Some (not all) of the dispatcher codes marked
"reserved" in the Technical Manual actually point to a routine,
but are off by a few bytes. Note that the majority of dispatcher
codes reference the Home ROM. We'd expect that they'd use Iabels_.
in the Home ROM assembly to generate most of the table, and th:
hand-patch in the addresses for the EXROM and RAM Res COde. Sut
enough, the portion that points to the Home ROM is 100% correct,
but the other two portions are a disaster.
To be fair, the Timex programmers tried to.,set up the EXROM
in such a way as to reduce the number of mis-linking errors. The
various tables and blocks of code in the EXROM are spread around,
giving each one room to grow without encroaching on the space
allocated by the others. Each block begins (or ends) at a nice,
even hexadecimal number, and the space after (or before) each
block is filled with FFx or 00s.
I've had several readers look at these gaps and give the
fascinating suggestion that there may have originally been code
there, which was blanked out prior to production of the ROMs.
Since each gap bounds itself on a nice even hexadeciamal number,
however, I must (sadly!) confess my doubts. Since each person who
mentioned it also used DECIMAL, not hexadecimal addresses in
their letters, I can see how this subtle, but important clue
might have been missed. (C'mon guys! I said in Part 1 that we
really ‘need to work in hexadecimal here. You gotta trust me after
all we've been through! )
In any case, though we can't cover the fixing of the EXROM
in detail, the following map should aid those who want to fix the
tables, and make permanent changes to the bugs in the RAM
BYTE POWER, a highly sophisticated
ir conputerized nagazine on cassette.
No longer will you have to type in long.
fastidious prograns...dUST LOAD AND PUN?
BYTE POWER is a software based magazine with over 130 prograns
per year, nost of then in fast Machine Language. Prograns such
as TALKING CLOCK, EASYuord word-processor, GRAND PRIX a 3D race,
and SSP Conall Screen Painter) are sone exanples of the high
quality prograns published in BYTE POHER Magazine.
BYTE POWER brings you this quality progranning at a very snall
cost, LESS THAN 39 CENTS A PROGRAM. based on 1 year subscription.
Plus you get doftuare and Harduare reviews and tips to help you
design better progranst
been Lg RA Re POE Se 55 8 os 5 ccs <cociteeebsvccccs cee Sdenl
6 MONTH SUBSCRIPTION C6 ISSUES)... 1... eee cece eee ee eo $29.99
1 YEAR SUBSCRIPTION C12 ISSUESD. 2... ccc cece cece eee eo o $49.99
U.S. FUNDS ONLY
SEND CHECK OR MONEY ORDER TO
BYTE POWER
1746 MEADOWVIEW AVENUE,
PICKERING, ONTARIO, CANADA LiV 366
azine for the T/3 2066. Each tape <
*= CLOSE OUT SPECcrAltL «*
Resident Code.
EXROM Map
RAINBOW PLUS INTERFACE 0000-0067 —- Misc. Housekeeping er
0068-08E6 —- Cassette 1/0 :
a ONLY $29.95 OBE7-ODAF —- eect to system initialization :
(We’ve flowcharted most of this) :
OW WHILE SUPPLIES LAST, YOU CAN GIVE | 0D50-0F42 - Video Mode Cason Ronetiae : “—s
SUC Arae Ree Tae Rao ae | came Sree Ca te
Me SAVE *, onto the stack. Routine at Block
INTERFACE COMBINES ADVANCE SPECTRUM spelen
EMULATION PLUS A SPECTRUM COMPATABLE this Putas ees.te CALL-a-Heee :
4 ROM £3 ith the : .
nee Comrie OL ON EO A | cc tray. En eens cares
CALLS. Should be used only by the :
COMPUTER, THERE IS NO NEED TO OPEN’ THE initialization code. :
COMPUTER OR TIE UP THE CARTRIDGE DOCK. OFAS-OFFF - The block is filled out with zeros. -—~—~—-:
THERE IS EVEN A SWITCH TO CHANGE MODES. 1000-1623 - Initial RAM Resident Code is copied
from here. A short stretch of FFs Initial
from 138E-13CF is the initial bank RAM Res
ALL FOR ONLY $29.95 + $2.00 S&H sal taht ne aeace. AE
TO ORDER : SEND CHECK, MONEY ORDER, VISA 1624-17FF - The block is filled out with zeros. -—---;
OR MASTERCARD, TO = DAMCO ENTERPRISES | je00-1nrF - Not Used (filled with FFs)
6&7 BRADLEY CT. FALL RIVER, MA. 02720 1COO-1CFF - Not Used (filled with zeros)
OR CALL (617)678-2110 1D00-( ) - Fixup table for relocating RAM Res --~- :
Code. Address values start at :
1DOo. List grows UPWARD in memory. a
1D7A-1EDB —- Unused space between tables. (Filled :
with zeros) :
unr ( )-1FFF - Address table for Function Dispatcher. :
ACES f
(198, EVTE POWER
[MENU
Starts at 1FFF and grows DOWNWARD in ExXROM
memory. This table is also broken Tables
into 3 sections; 1 for EXROM :
services, 1 for Home ROM services,
and 1 for RAM Res Code services (low
Hl AA memory addresses only!!!) Unused :
OH GS Flowchart 7: . ——
EVES} | woes iitiatize 6 RAM banky~ - SERS See ree ence ewe ta ae
rg @ RAM bank)
E || OnInT B
X@ADD-XOAED- This was SUPPUSED to copy the
interrupt handle- from the EXROM to the
RAM bank. Un fortunately it Copies one byte
too few, and the B ond ve gisters have
su apped bytes on entry to this routine As
2 vesulté, Zhe bytes ave copped FROM the
RAM hank, To the EXROM bank. Se c€
actually doesnt accomplish Aahy thing.
KOAEE/F -Point HL to SYSCON GZS chunks
available for RAM (hi-teue)
XA FO-X0AFR3° Set bit Dof SYSCoN G2. Tf we've
here, there MUST be KAM in chunk @
OIF 4-XOIFb-Initialize chunk address pristes
(DE register) to location DOSS
9-Tnritislize chunk counter A veais
Flowchart 8:
Renumber banks according
to their interrupt priorities.
KOCFB-XPCFE - Clear MAXBNK. We'll increment for each bank
OCFF~X PDOS-Poimt to SYSCON OO for the FIRST bank
X9D6/7- Gel SYSCON DD & compare it to BG (TF,
eenal f we 2 the end of the table)
G1 xOp07/a-Fnd of table? [D
XOD@B- Point te SYSCON D1 -The bank nunba,
te
eliOSe
HUNCERS
XOAF9- Save chunk counteae (4 regis ber)
XOAFA-XOBOl-Pornd DE te stat’ address of
thenext chunk Cpreserves HL)
X9B 92-YOBI3-Moves a byte From XYOBO7 to Firsé
XOD Qc -X@D@E- Get SYSCON G4 & check bet 7.
Thrs bit is only selif the bauk hasnt been
Fenumbered et.
QPOF/AD -H b beo renumb ered?)
yte of new RAA bank chunk.
CHARTS X OBI6-X9BI2 -Get MAXBAK. Duving imifializa biry K ODI-X Pde ~ Pont te SYSCON GO EK, NEXT bank
EXAMPLE this ¢s the number of the bank were workring oa
@ SALES X0B /9-YoB2S- This was supposed to take the XODI7-XOD4~Save the bank number
o COST byte that was just tw wite, inte RAM and ODdIA -Powt te SY¥Ystow DO
IN DOLLARS « PROFITS Gory that inte SYSCOWM 33. Un fortunately XDD (B-K ODID -Gel SYSCOW POE compare te Gt (ROM
is 2 BUG! Al se (sucessfully) points Al LeStScono QUKODIE-Fs5 it D2 CROm pant) ? _—[)
2150 XPB26-X OBZ D- Compare the contents of SYS GF
1720 te XO8E7.THf they watd, there way be RAM herve. XODZ$-XOD23- Point to SYSCOW I7- Int. priority
1626 XOD24-XOD2Z7-This will eventually ASSigu 2@
43e YY) X9P2E/- -pDo 4, natch? |) Priom ty)
G
> SES
% 3
pe: Es
GsBoSormnhss
ct copres tt Inte the Dock bank aud so
X9B 30-XOB43 - Move bytc from Xosde to first byte
oF Curvent chunk of RAM bank.
X0B44-XOBSS- Supposed to cop
K4AM bank into SYSCOW G3. Ui.fi-t anately
it coptes rt tothe Dock Leuk (Same BUG
as above) Also Gucessfilly) pomts WL te SYSCON 03
WPBS6-XOBSB- Pant HL back to SYS@N O2, and
compare the byte that would have been read
back Chad there been no bus) Lo byte af
CXOBSC/D -De the tcA7 [1 —————
|X@BSE-XOBI4- Weve found eqnothe— RAM chunk.
Set the Zppropeiate bit sn SYSCOM OZ
BIS - XOBC
ho RAMiy this chane.
: Oey, SCON D2
WBCA~XOBL- Update chunk counter 2 See sf
6&'s Bye thes we're done
Chopep/e Are we Jone? [Y)~(RET4-~ _)
X@D28-XOD2B-Pont te STSCOM 17 -~Tuk Prievy ty
XODZC-KOpZF - Get the prrorid
XSDLD-X9D2F - Save the prrorit
X23 O-Point to Syston OP for NEXT bank
X9D3!-Kon33- Ged Syscon @G kcompare Ul to Bo.
ich mar Le cud of the table.
CY |xXg034/e5 End of table? [AD
XOD36- Point do SYSCON G1
%OD37-XOD3BF -~Get SYSCON O41 Beleck LiF
Th et if baukis not yet renumberel
(W] XOD3A4/B Ts tt renumbered z1y)
@D3C-KODH - Point to SYSCOW I7
Flowchart 8 continued...
Flowchart 8
(continued from previous page)
XOP4Z Poin SYSCOW DD
XbD43-X9D45-Gek it & compare to 2 (ROMba
CA\X\ob 46/7 -Ts ika ROM bank 2 ‘say
XOD48-XOD4D -Poiwt to SYSCON 17 2460
XOD4E-BUGI( Should instead copy HL teDE
This will lezve DE pointing te SYSHW OG
XOP4F-X6D52- Point HL to SYSCON [7° ént priority
Ons 3-Xopsé ~ Fut previ ous in terrugt Priority »B
¥ODS 7/8 -Get-present int Prieeit & compare to B
C}xoDs4/s New bank bas higher Prionty2|W/)
XODSB-XGDE 3 -S2ve new bank & address & Prierity
XDD bf-XODCA ~ Lncrement MAX BNK
KODGB-XODLD ~ Get addy. of highesé priovity bank #
PDE -Save new bank member ab that a4 dress
XODGF-XOD8%- Timex's [esting says thes 7s
Supposed bo pué the bayk # at location
OoOG of the RAM bank. Tustead due fe
a BUG jd uses the bank # asan
address, and copia Fron, that address in
the home bank to address Secep of
2487
24C0
24EE
yopg4-XODBA- Set MAXBNK to @
XOD8B-XEDI = Send DO to vegister CD- Fesets
the Daisy Chain
X oD92 -KUD98- Get address of fivst bank wuwher
in the SYSCON table
X 0099 A useless ins Buction, but rt would have been
‘cect rt Were right before the tustvuction at XODIF
XOD9B-D — Lhcrements MAXBMK, and checks to see
if that bank vumber exists. Returns wrth
Cyal, PY yes Unfortunately it alse tors Za lis that
Vember in the bank-- after we've carefully
Venumbered them, al/. Weill fix that je 2 wrnats
HL f Srepentbank 4 the Syscowtzble
WVhcoape ~Does the bay ist? (Cye0
Sime
ank humbe
and instal) in the bank. Mote that if we
get toths part of the program D cotacus
A® left over freon the routine af XOBD!.
X@DA3-XODAF Send PA bo vegist er CQ Advances
the Daisy Chain-
XODAA- XODAF- Point to the wext bank # in the
SYScONW _tabtl
A Chip OTT The Old Block
As we said last time, there are many portions of code in the
Home ROM that are blocked off, so they're never executed. If we
wished to use the "Sinclair Interface One" method of adding a
disk, microdrive, or other I/O devices, we'd leave these blocked
off. However, this would require extra hardware to switch in a
"superbank", at the right moment. Since the blocked off code has
the ability to link to the normal expansion banks without such
extra hardware, it may seem attractive to try to restore that old
code to working order. The following table gives a good feel for
what they are, and what they do. In each case, the routines are
blocked by a JR, JP, or RET instruction.
Would have allowed the execution of expansian bank code
to OFEN a stream to a specially made channel.
Would have CLOSEd all 14 streams & rebuilt the SYSCON
table after the execution of the BASIC command
"RESET k". The rebuilt table would have been a "cold
reset", using the EXROM routine at XO9F4 (shown a long
time ago in flowchart 4.)
Would have performed a "warm reset" of the SYSCON table
after the BASIC command "RESET". .This would have used
the EXROM routine at XOC4C (not flowcharted).
Would have run expansion bank code upon execution of the
BASIC command "RESET # stream"
Would have passed the information in an extended LOAD or
SAVE command (ie, LOAD k "D",list of information") onto
the stack, and then CALLed a LOAD or SAVE routine,
perhaps for a disk or microdrive, in an expansion bank.
This would have CALLed the routine at 2589, which is
also never used. This is fortunate, because it tries to
CALL an EXROM routine with a mis-linked address, and
also has a RET command missing,
This is part of the code that would have passed
parameters from the BASIC commands CAT, FORMAT, MOVE,
and ERASE. The blocking JF instruction, at 25E1, is
where Timex deleted code to make room, as mentioned in
the previous installment.
“Let Us Recomsetruct Watsom” .
An interesting item has been recently published in the Jan-
Feb issue of the newsletter of the Long Island Sinclair Timex
User Group. From its language and format, I suspect it's an early
version of Timex's functional specification for bank switching!
(They may have titled it differently, but that's the type of
document it is.) Timex would certainly have had to make such a
spec available to third party software developers. So, in hind-
sight, it's reasonable that a copy should eventually come to the
surface.
Still, the person who "leaked" the document could come to
some trouble for doing so. This may be the reason it was sub-
mitted under the pseudonym of "Dr. Watson". (I love it!!!) Well,
whoever you are, Doctor, thanks a bunch. You've done a great.
service to the cause.
Because it's an early version, there are portions that have
been superceeded by engineering changes in the machine. (See Part
3 of this series, where we discuss the bank switching tutorial in
SAMS "TS2068 Intermediate/Advanced Guide".) As such, its des-
cription of the bank switching registers is not quite accurate.
However, we do get a complete picture of the SYSCON layout, an
idea of some of the peripherals Timex at least considered pro-
ducing, and a description of the BEU.
We also see how some additional tables of data might have
been written in home RAM by expansion banks during the power-on
initialization. (For Spectrum users: these seem somewhat an-
alogous to the extra information in the "m", "n", "t", and "d"
channels used by the Microdrives, network, and RS-232 ports on
the Interface One.) Since these tables are a function of the ex-
Now Available! “THE BEST OF SUM, PART II”
Over 60 pages of program listings, reviews, hard-
ware projects, hints and tips, and articles. Covers
TS-1000, TS-2068, and QL. All are reprints from
the last year of SUM plus a few that didn't make it
into print before now.
Articles include Building an EPROM Program-
mer, Sprites on the 2068, Adding RGB to 2068, QL
Word Processing, What's Available for TS-1000,
and much more. Does overlap the “Special Issues”
advertised to the right. :
$795 postpaid
Florida residents must add 5% state sales tax.
The original “THE BEST OF SUM” is now in its
2nd printing. 112 pages of articles going all the
way back to the beginning of SUM — 3 years
worth!
$11.95 postpaid
QL Special Issue (12/85) — *3.95 postpaid.
TS-1000 Special Issue (5/86) — *3.95 postpaid.
Everything! *20.00 postpaid
FOOTE %%, SOFTWARE P.O. Box 14655 — Gainesville, FL 32604 904/462-1086 (6 pm - 9 pm EDT)
12
following a CALL at 25DE
wo you needed more devices, you could plug ANOTHER BEAU
—_
pansion bank software that doesn't exist yet, we can still re-
design these as we wish. But it's still interesting to see what
Timex had in mind. .
The BEU was intended to allow an additional 4 devices to be
plugged into the TS2068 (you're only supposed to plug two or less
directly into the TS2068, according to the Technical Manual. If
into the
first, to allow a total of 7 devices to be plugged in. A device
could have been a peripheral, or could have contained one or more
expansion banks. A device containing peripheral hardware AND an
expansion bank to control it is referred to as an "intelligent
device", by the way.
The list of device specifications (the ASCII characters that
define a channel type) included the standard ones as shown in the
Technical Manual, but also included specifiers for a Tele-
communications device, a stringy floppy (like a Microdrive?),
both floppy and hard disks, RS-232 and Centronics interfaces, an
80 column printer (it's uncertain how this would differ from the
Centronics interface) and a network. Also the letter "M" is
marked as reserved. This is what Sinclair uses for its Microdrive
channels, but this is a stringy floppy device, so the purpose of
this is uncertain.
The biggest bonanza from this document, however is the
complete SYSCON table layout. As mentioned last time, the layout
I gave was incomplete, and I began to give some corrections last
time. A complete layout would not have been possible, because the
ROM routines don't use all the SYSCON locations, and there's a
conflict in various code locations as to how a certain set of
initialization code is pointed to by the SYSCON table. As it
turns out, I chose one possibility and Timex intended the other
(curses!).
Furthermore, I speculated that certain expansion banks might
contain complete replacements for the system ROMs. This’ means
that certain "reserved" memory locations would contain JP in-
structions, so that instructions like RST 8 and RST 10 would work
under these ROMs. Timex seemed to have no intention of doing
this, but it's still possible, as far as I can see. In any case,
here's the Timex SYSCON layout for an expansion bank, along with
my original comments:
00 O1=ROM O2=RAM OO=Inactive
O1 Bank #. MSB is set if not yet renumbered
The following is copied from 0000-0015 of ROM expansion banks
02 For RAM — Chunks available - High true
For ROM — Channel specifier, if this bank controls a channel.
This will be an ASCII character, and the initial-
ization software resets bit 5, insuring that the
letter will be uppercase.
03/4 Address of OPEN routine for the channel.
(Alternately, 02-04 could have a residual JP instruction, which
does no good to the SYSCON table, but allows RST O to work in
the expansion bank, since the JP is also at location 0000 of
that bank.)
05/06 Address of CLOSE routine, if the bank controls a channel,
Call with RAM Res Code with PRM_OUT#=2, and stheam
number on the stack.
07/08 Timex called this the address of the SELECT routine. It
could have been used in initialization, and to
attatch the current channel to this bank (7?)
09/0A An 1/0 device INPUT routine address
OB/OC An 1/0 device OUTPUT routine address.
(Alternately, OA-OC could have contained a residual JP that
would have been intended to allow RST 08 to work in the
ROM bank)
OD/OE Address of Disk Command Handler routine
OF/10 Addr of device interrupt handler (92 bytes)
11/12 Addr of device initialization code (cold start)
13/14 Addr of device reset routine (warm start)
(Alternately, 12-14 could have contained a residual JP that
would have been used in the ROM bank to make RST 10 work.)
15 - Device type -- Bit 0 = 0 if bootable
= 1 if initializable
Bit 1 = 0 if non storage device
1 if storage (disk commands)
16 - Boot up priority. Low # = high priority. Home bank=80
17 - Interrupt Priority. RAM banks get 255. ROM gets lower
value, which means higher priority
NOTE: The Timex document gives this list as ROM addresses, rather
than SYSCON entries, as given here. The SYSCON
displacements must always differ by two from the
ROM addresses. This difference is not an error.
These are the items of real importance to those who'd want
to implement extended bank switching on the TS2068. Other items
in the document make interesting reading, however, and you may
want to contact the L.I.S.T. group to see if back issues are
available.
Fanal Thoughts
Throughout this series, I've made comments about the various
bugs and defficiencies we've uncovered in the TS2068. While there
is no denying that it does have numerous problems, we should see
them in the perspective of the problems that likely faced the de-
signers. Let's also not forget that the initial release of a
computer will uncover many new bugs as a huge group of users
tries things its designers hadn't condidered. (Wes' Second Law:
It's unwise to buy Version 1.0 of ANYTHING.)
IO
Remember that the TS2068 is a radical redesign of the Sin-
clair Spectrum with many new functions wedged in that its’ or-
iginal designers never intended for it. It almost had to be
forced to be able to do some of them. It was developed during” a
time when the home computer market was declining, and it ran way
over schedule. It's engineers would have spent late nights in the
lab, while getting called on the carpet during the day.
The mistakes we've seen are typical of the kinds I have
observed (and even made!) in my many years as an engineer.
Usually, they get fixed, but sometimes, there just isn't time.
There's no reason to expect that those responsible for these bugs
were not simply good engineers given a huge job on an impossible
schedule. We can be thankful that they've accomplished what they
have.
Writing the last article ina series always brings about
mixed feelings. It's nice to see a job finished, but it's also
like losing and old friend. I hope you'll continue to let me know
about your own TS2068 projects...particularly any that deal with
bank switching. I've made a lot of friends here, and I wouldn't
want to lose contact.
I've been reluctant to do more than hint about the bank
switching hardware that I've been playing with, all this time.
The reason is that I wasn't satisfied with it, and was sure that
many of you could provide a better way, given the proper food for
thought. (And every now and then, I'm right; you've done spec-
tacularly. )
For the record, I've modified the two low level communi-
cation routines in the RAM Res Code so that they instead communi-
cate their data to a separate (and very small) Z80 computer. The
second computer simulates most of the registers, and controls the
horizontal select bytes for the expansion banks, which are other-
wise controlled by the TS2068. This works, but it is a bit more
complex than I'd like. If you'll look back over this series, and
see my scattered hints about the virtues of changing the two low
level routines (READ BS REG and WR_BS REG and WR BS REG) you may
see the method in my madness. le irs
Well, thanks to many of your suggestions, it now looks
possible to modify: these two routines so that they do all the
simulation and control functions in their own limited space,
under complete control of the TS2068, negating the need for a
separate processor. This is still in its early stages, but ex-
tended bank switching could become much simpler, in the coming
months...we'll see.
As I:said, I don't want to lose contact. Please feel free to
write to me: Wes Brzozowski, 337 Janice St., Endicott, NY 13760.
LIST and
RUN the
fie MUSIC DESIGN ‘edee’ SRE
Ano)
. aaeememmer i et” Tugger i commana
C9 60 62 620 20 69 6 6 6 Be
HERE IT IS!!
A REAL MUSIC PROGRAM FOR THE 2068!
You can adjust the volume, tempo and duration of the beat
and melody. You can record as you play and play it back
later. You can string several tunes together and play then
back continuously. You can save the program with the tunes
you have written or entered. Room for over 100@ notes and
pauses. Over 2 1/2 octaves! 1@ chord keys!
If you want, you can use your own music books to enter
songs of your choice.
Almost like having your own sythesizer on your 2068!
Nothing better for the price!
OLY $19 .95+82 SH.
EXCLUSIVELY FROM:
RMG ENTERPRISES
1419 1/2 7TH STREET
OREGON CITY, OR 97645
503/655-7484
ThA WSD9UP Ca,
Delivers!
HHHRRHHRRRHRR AH HRHHRHAHH HHH HHH HAR
DO YOU HAVE PROGAMS ON CASSETTE THAT YOU WOULD LIKE TO
HAVE ON YOUR AERCO FD-48 DISK?
WHAT WOULD YOU PAY FOR A PROGRAM THAT WOULD MOVE THEM FROM
CASSETTE TO DISK AUTOMATICALLY?
Well we are here to announce just such a utility!
GET READY! HERE COMES---~
SZK EXPRESS
Another GREAT utility from the author of such titles as:
_ KRUNCHER, KRUNCHER 1000 AND TRACER
This time we bring you EXPRESS, as in FAST!
We guarantee that this utility will save you a lot of time
transfering programs to disk.
So nee to use! All you do is boot up the peegeae and
press PLAY on your tape recorder and watch the program
LOAD and then automatically MOVE to the AERCO disk!
We couldn’t make it any easier! AND THAT’S NOT ALL!
This: program uses ABSOLUTELY NO MEMORY!
Once the transfer has been made, all that is needed is
for you to reboot them, change the SAVE and LOAD commands
and re-SAVE them in an auto-run sode.
The program includes a very good header reader and catalog
function. It is just the first of many programs to come
that utilize the bank-switching facilities of the 2068.
A GREAT ADDITION TO YOUR FD-48 UTILITY LIBRARY!
THE PRICE?
ONLY $14. 9S+$2 SH.
EXCLUSIVELY FROM:
RMG ENTERPRISES
1419 1/2 7TH STREET
OREGON CITY, OR 97045
1655-7484
RHHHHRARHBRAAH HARA RHR HHRMA
TOURIST C
Delivers!
shojojcicjojjoiciatc jojotojajojojofojojojofapyojofcjojapcfojolciojojojopayciopopajajalopajajojopojopopcyapopopopojopcyop sp apcpopopopoy stot op S| of Off 2} o} of} 2} 943] 9} 3424 s]9} 2} Shc} 2-4} aatay aot]
Let TOURIST C What HOT Z cannot.
1 OS OOPS OH OH PEDRO REESE EH EESORED OEE EE EEE OEEE SES ESTE OEESOE HEH ESSE EEE ESSESES ES ESE SES SESE EEE EES SEE EES SSESEEEESSEEESEEEESEEDESESESE®
|
Se eee ee BH shown when that is what the TS2@68
Bank#255 Grp:SYNTWO Rtn: PASSEM
65278 'BSonkteoSd /HALE=O1L11111
25753 | [RAONK_CNndsr2].,cexr0n
(Reothy B 3987)
65238 'RonktoSsS/HsLL=O8000006
25753 |! (6dnK_endszre), .HONE
! The AL on toomple of oni of The forricoaded prtutnting Lar
OO OPOOS HOT EDE SER OH OER OSE HORE SESE EEEEESE EHS EEEEEEOE EES DORE EEE ENS EERE OEE RE EEE OES E SEES ESOS ROSES EEEee
9657 Q1FEFE LD BC,NN
9662 Cp9964 CALL NN ¥
9663 CDO92F CALL NN 3649! (PABST
9665 @100FF LD BC,NN
9669 CD9964 CALL NN
Bank
Inndeing of porometene from BASIC etotementc.
6C
9672 O6CF B,N 207: CAT :
9674 180A JR +12 9656
9676 8600 LD B,N 268: FORMAT :
9678 1866 JR +8 S686
9688 @6D1 LD B,N 269: HOVE :
9662 1862 JR +4 9635
9684 86D2 LO B,N 218: ERASE :
9586 co8923 CALL NN 18377
9659 2686 JR NZ,+8 9597
g6S1i Cb6925 CALL NN 9577
9694 Chdd1iB CALL WH 6350
9697 C36725 JP NN $575
BankesSsS Grp: SYNTWO Rtn: ERROR J
9575 CF RST 8 ERROR
9576 i2 DC Invalid I/O device
1 TRA bonrricodt prtmintis uding 005, but ON ERROR con comi it.
e200 Grp: SYNTUO Rtn: BADKEYS
Tourist C presents a disassembly
in a form you can USE! Decimal is
requires for input. Hexadecimal
i5 used inf places where it i5 the
better choice. Some redundancy is
achieved. Both forms often show.
Relative branches show offset,
code byte and destination.
Error calls give the exact error
message and code byte.
Catculator calls Show the routine
in uninterpreted byte code.
WHAT HORE COULD YOU ASK?
You could ask for a data-base
filing system. You got it!
You could ask for a uUnmaversal
printer interface. You got it!
You could ask for interpretation
of code bytes. You GOT it!
You could ask for titling and a
way to jump around. Guess What?
You of2o0 get "SPY"! { Ah, ,well...
Did I mention..perhaps I..YES I
really Should. NO RELOCATION!
What you see above is an unretcuched disassembly prepared by TOURIST C, The comments and emphasis of the titles were added by
a word promesser from the database file generated by TOURIST C, What goad is 4 disassembler if you can’t make notes? Qs you
Can see, getting down to the business Gf working With machine code is never just a matter of printing cut all the raw data, You
faad better, and deseme it, TOURIST C gives it to you, The fact that TQURIST C bank-switches hes nothing to do with skisping
on the essentials, What it can show you in other banks is gravy,
ee nee
GET IT! TOURIST C OrdergTS25PY8n8 $32.58 + 1,58 SéH
a,
Praifit tecsere.
by
C* Lemke Software
Deve lopment
Pixel
Pixel Print creates Text and
Loads Graphics for Newsletters,
Magazine Columns, Letters, etc,
Example: LOAD GRAPHICS
RRA LEA
fasece ae 4
(Onmememasiomc ‘A ueusemeoumrsome
ee
Resear gerd THE
\ POINTS
“4
~
This GRAPHIC Was created using
the PIXEL SKETCH and GRAPHIOS
Editor ved to demonstrate its
very powerful editing abilit ee
Pixel Print also has many very
powerful functions... like pixel
Shift for precision layouts!
nYe| Driqt Stet ete HS
OF FONTS & SIZES
Pixel Print Will print with the
edad Thermal Printer or most TBM
Of EPSON compatible .wereze
PRINTERS.
Py) vo
LAE
Print 15 compatible with
the TASMAN, AEROO, and Aa CPL,
ie | Q2=
Get your PIXEL PRINT. Pe
id ' wm FPO
ae Sa rftumar Ce r< eels
2Gidd White oak, “Wichita Ks 6ySe7
Renew Your
Subscription Today!
ge \ ay
Turbo Esprit
Michael E. Carver
HIT-CAR CLOSING IN!
Durrell has done a decent job of providing an inexpensive means
of driving one of the finest sports cars produced, the Lotus
Turbo Esprit. To add an extra dimension to the simulation, Turbo
Esprit is also a game of “cops and robbers". Actually, it isa
game of “cop and drug smugglers”. The plot of the game is to
chase down four drug-runners and their armoured car supplier.
The action takes place in one of four different cities. A city
must be chosen upon loading, and to try a different city one must
reload the game.
The display is similar to Durrell’s Combat Lynx (a combat
helicopter simulation). The screen is divided into two sections
-~- the dashboard and the playing field. Once again, the player’s
vehicle is seen on the screen from a view point just behind the
car in a S3-dimensional world. The 3-D effect of the city
landscape is effective, but a little jerky while driving at
slower speeds. The car is, as one would expect, a right-hand
drive ala England, and the city streets are laid out to be driven
on the left-side of the road. This took quite some time to get
used to, especially when making left or right hand turns. The
city is made up of various 2 to 6 lane streets with a number of
one-way streets. Some of the hazards encountered, while cruising
the city, are pedestrians crossing in crosswalks, potholes (which
are set off with barricades), and workmen on ladders, which
extend into the street. Of course, what driving simulation would
be complete without lane changers, who don’t use their turn
signals? Yes, the cars driving through town have operating turn
signals.
Your car is equipped with a._gun, which can be fired at other
cars. Drug-running cars can be stopped by shooting them or
continually rear-ending them. Points are scored for apprehending
the drug cars, with a higher score provided when disabling the
car by rear-ending it. There are penalties for ramming innocent
cars or running over pedestrians. You are provided with four
separate cars, as your car can be demolished by crashing into
other cars or walls. It is also possible to lose a car when shot
by one of the cruising hit-cars. One also scores points by
taking out the hit-cars. There are also various gas stations
which are needed when the fuel gauge gets low or your engine
develops a misfire.
A map of the city is available {on the screen), marking the
locations of gas stations and drug cars. There are various
levels of play which effect the speed of the cars and the number
of times they must be rammed before they submit. Control is via
keyboard (which is user-definable) or joystick. By being able to
define the keys, control by keyboard is easy and responsive.
As a simulation, the game has a good “feel", (especially when
taking corners too fast). It is great fun to re-enact some of
the great chase scenes from the movies (Bullet or the French
Connection), by driving on the wrong side of the road to get
around traffic jams, running red lights at busy intersections and
dodging pedestrians. The plot and action of the game can get a
little old-hat. It is not a game that I think one will get
hooked on and forget to eat or sleep, but is great fun to pull
out once in awhile and pass a few hours with. The action does
not seem to slow down with the number of active objects on the
screen, though it does suffer attribute bleeds. Also, one can
occasionally get stuck, because some idiot driver went down a
One-way street the wrong way.
Turbo Esprit is available from Curry Computer for $16.95.
zl
PROGRAMMING CONCEPTS
The following article deals with programing on a
Sinclair ZX81 (or TS1000). It is just a portion of a
large document, with the remainder to be published in
the next issue of TDM, along with a program listing.
The listing is a game program, "ZX81 TIC-TAC-TOE", which
will serve as the chief example and will be discussed
extensively. If readers would like to get a "head
start", a complete listing of the program, declarations
and array content are available for $6.20 ppd.; or a
cassette is a available (nonlistable) for those who
don't want to key in the program, for $12.00, from the
author. Albert F. Rodriguez, 1605 Pennsylvania Ave.
#204, Miame Beach, FL 33139. (Foreign buyers add $2.00
for the cassette, or $1.00 for the listing).
(con't from last issue)
From this observation I deduced that it would be
prudent to locate my subroutines, as often as it was
practicable, below and as near to the place that they
have to be called from in order to acheive an optimal
MC/PS ratio. This technique can be best implemented,
given a program that is relatively as multi-functional
as is mine, by using what I call: "drivers". (For this
term, but not the meaning given to it below, I am
grateful to Mrrs. Frank L. Friedman/Elliot B Koffman,
Problem Solving andi Structured Programming In Fortran,
Addison-Wesley Publishing Co., Inc., 2nd Edition, 1981,
Page 299.)
A driver is similar to a "main program" (to learn
about the concept of a main program see the chapter on
Subroutines in the User Manual).
A driver calls one or more subroutines (or another
dciver(s))*within an overall program in that it is
actually a suproutine that may called by a main program
(e.g., see the driver routine Game in my program, which
is called from line aa9 and consist of lines 7001-7011).
There should be only one main program within an
overall program, but there can be many drivers within an
overall program. The unique value of a driver is that
it allows a subroutine or another driver, far below in
the overall program, to be nearer to the actual place
from where it is being called within the overall pro-
gram. And this, indeed contributes to a better MC/PS
ratio.
The proceedural rules derived from structuring
effeciently as possible) the main program (see lines
112-120), drivers and subroutines (see Declarations
below for exact line numbers) within my overall program
are, for convenience sake, referred to as "Rules of Top-
Down Design," and can be summarized as follows:
(as
1. A main program is placed immediately after the
program's name and any commands/initializations,
if any, that appear at the beginning of the in-
struction area.
by Albert F.
Rodriquez
2. A main program begins with either
routine or a driver call, and it ends with
statement.
3. A main program calls either drivers or sub-
routines; it best calls itself with a GOTO state-
ment.
4. A driver or subroutine are located best when
they are below and nearest to where they are being
called.
5. A driver or subroutine are located, in an over-
all program, in the order that it is first called
by: a main program or another driver.
6. If a driver and main program bothcall the same
driver or subroutine , then, this same driver or
subroutine is located in the overall program in the
order first called by the main program.
7. A driver calls either one or more drivers or
subroutines.
8. A driver or subroutine should contain at least
one RETURN statement.
9. A driver or subroutine best calls
using a GOTO statement.
10. A subroutine, to be considered as a subroutine,
must not contain either a driver or another sub-
routine.
11. Both a driver and subroutine are best called b
a GOSUB statement unless they each call itself.
12. Always use the smallest line number possible
when writing each line of a program.
a sub-
a GOTO
itself by
So far I have been elucidating some of the pro-
ceedural techniques used in writing and structing my
program. This presentation, howerver, would be in-
complete without an explanation of what each particular
section (form top to bottom) of the overall program does
and why it was written. It is toward this end that I
dedicate the rest of this work.
To clearly know what is being discussed next, the
reader should have nearby a copy of the program list and
its declarations (see below). The actual data stored
within certain arrays in the variable store is not
necessary to understand what follows. (A complete list-
ing of the program, declarations and array content are
available for $6.20, ppd, to whomever may decide to key
in this program themselves rather than purchasing it in
cassette form for $12.00. Foreign buyers add $2.00 more
for the cassette and a $1.00 more for the listing and
materials. )
The programm, on tape, is not listable on the
screen. This precaution was taken so that a user would
not accidentally disrupt the program if’ he/she happened
to gain access to the code area of the program. To
avoid reloading the program a user, whenever he/she has
access to this area, should key in GOTO 7 to restart the
game .(see Profile sheet for instructions about how to
stop and restart this program). No-mony—back-—guarante
are the terms applicable to whomever buys this progre
in cassette form or not.
More of this article next issue.
~A”
ZX81 Data Acquisition Module
PART if
By
Tim Stoddard
As promised last issue, we'll be trying our luck at
building a digital to analog converter (D/A for short).
I also got to thinking (a sometimes dangerous activity).
What's the use:of all this fancy A/D and D/A stuff with-
out some reference to time? For instance, in robotics,
you would send an analog signal to a motor for a
"specified time" to move, say, an arm or leg. You could
use timing loops in the software, but that is inherently
inaccurate. What is needed is a REAL-TIME CLOCK. So, in
this issue we will be constructing a Real-Time Clock in
addition to the D/A converter. Although the Real-Time
Clock is on the same board as the D/A and A/D, I de-
signed the clock with it's own selection logic, so if
you want to use only the clock, it could be done very
easily.
D/A CONVERTER
Schematic #1 diagrams the circuit. IC19 (74HCT374)
was shown last issue in the A/D circuit as an optional
port. We will be using this port to supply the D/A con-
verter with it's 8-bit byte to be converted to an analog
voltage. IC20 (DAC 800) is the workhorse that does the
actual conversion. It comes in many variants (DAC
800/801/802). They differ in conversion errors and max-
imum temperature range. For our purpose, any of them
WR 63
From IC2
Pi) Be
sn— FoR
ouT ~ Fé
~Svars
+ lug | Schematic 1:
ps D/A Converter
rcé
will do. In fact, my prototype uses the most inaccurate
(DAC 801=full, scale nonlinearity of .39%). I don't think
I'll complain about .39%! IC2l1 (741) converts’ the
"current" output of the DAC 800 to a voltage output and
also acts as a buffer. The one curve ball that did come
up while I was designing this was: the DAC 800 and it's
variants use THREE supply voltages! I strongly dis-like
anything other than “plus five volts", but in order to
bridge the digital and analog world, we'll just have to
grin and convert it. Anyway, the DAC 800 needs +4.5 to
+18, -4.5 to -18, and a reference voltage for the
current switches. IC22 (ICL 7660) converts the +5 volt
supply to -5 volts for both the DAC 800 and the 741. I
used this approach rather than an external power supply
because, aS it is, my bench is already cluttered with
power modules. The one thing we don't need is another
power module hanging out of the wall!
The DAC 800 works by taking the input byte, and
then using each bit to switch a binary-weighted current
source. For instance, bit 7 represents decimal 128, or
half the value of the input byte. When this bit is a
one, the current switch attached to that bit in the DAC
800 will supply enough current to generate half of the
reference voltage via the 741 op amp.
Before wiring up the circuit, you'll need to decide
if you want "unipolar" or "bipolar" (unipolar = Ov to
+5v,; bipolar = -5v to +5v) output. Then ground pin 3 of
the 741 and pin 2 of the DAC 800 directly. for unipolar
operation, or for bipolar operation, through a 2.2k
resistor. If you do decide to go with bipolar operation,
use 1% resistors for the two 2.2k's attached to the 741
op amp. These, can be purchased at Radio Shack as part
no.271-309 for $2.49 (actually a package of 50). This
will improve symmetry. After wiring up the circuit, a
single adjustment should be make. Output 255 decimal to
the DAC 800 port; in our case this is port 63H (use the
BASIC/MC program below). Next, adjust the full scale pot
for the desired full scale output. NOTE that the current
switches need about 1.5 volts to switch, so full scale
output should be 1.5 volts LESS*than the supply voltage
to remain linear. I set mine up for 2.56 volts...this
then gives .0l volts per count...an easy number to work
with. For example, sending decimal 100 to the DAC 800
port will cause the DAC 800 to output via the 741, 1.00
volts, or if you send decimal 197 to the port, the 741
will output 1.97 volts. You can see how easy this is to
work with. This of course, assumes unipolar operation.
Bipolar operation would give an output voltage range of
-2.56 to +2.56 volts, and increase each count to .02
volts.
The ML routine to write the port is very easy and follows:
16514 862 00 LD A,n ;load A with data to output
16516 211 99 OUT 63,A ;output the data to DAC
16518 201 RET ;return to basic
To use the routine simply POKE the above MC routine
in a REM statement, then within the BASIC program, POKE
the desired data byte to output into location 16515 and
then execute the routine. Here is a sample of the above
utine:
ie 5 REM ****k <== Poke the above ML routine here
10 PRINT "ENTER OUTPUT DATA”
ipotR
20 INPUT D
BirneAak 30 POKE 16515, D
40 RAND USER 16514
50 GOTO 10
REAL-TIME CLOCK
This part of the project is perhaps, the most
useful. It can be constructed outside the DAM board
project and used separately. Everything from games in
"real-time", to timed control of BSR modules in the home
can be accomplished using this clock.
The circuit is very simple and also features a bit-
addressable port. IC23 is a Programmable Peripheral In-
terface (or PPI for short). It replaces three 68-bit
ports and selection logic, and is fully programmable. is available from JDR (holder $1.95; battery $3.95). The
All three ports can be programmed as input or output and trimmer cap on the clock is available from Radio Shack,
in the case of port C can be programmed as a bit- as are most of the other passibe parts. The inverter
addressable output port. Fortunately, it is also CHEAP used to invert the RESET signal off of the TS/ZX buss,
($1.69 from JDR). IC24 is the actual clock chip and is a is an unused section of the 74HCTO4 in the A/D cir-
MSM5832 ($2.95 from JDR). The crystal is a 32.768KHZ cuitry. The pull-up resistors are needed because the-——.,
unit and costs $.95 (also from JDR). IC25 does our I/O MSM5832 is a CMOS device where the 8255 is not.
decoding and is the familiar 74HCT138. Note, you can The software to use the clock is a little more ~*
also use the 74LS138, but it will consume more power. I complex than we have done up to now, due to the use of
HIGHLY recommend using the battery back-up, unless of the 8255 PPI. However, it's nothing that can't be over-
course, you want to set the clock each time you "power- come. Generally what we need. to do is configure the
up". A nice lithium coin-type battery holder and battery three ports, then send the appropriate data to each of
the ports as needed. Looking at schematic #2, you'll
note that we use two of the ports for the exclusive use
TEx BUSS Fe7 He of the clock. Port "A".is used to send the clock reg-
etic: Ee ister address and four control signals to control the
fa Aux BrT - AbbRESSABLE clock. This port then will be used to send data to the
if PORT clock only. Therefore, we will configure this port as an
pe OUTPUT port while reading or writing the clock chip.
® S| :- Port "B" on the other-hand, will be used to both send
iz 36| oz reg 2 re and receive data to the clock chip. Therefore, we will
configure this port as either an INPUT or OUTPUT port
D? 27] p depending on the operation being performed on the clock.
De 2| 8255 45 Port "C" is not used by the clock and can be configured
os 29 Ge for your particular use. The 8255 has four possible
D4 30} : registers that can be addressed; one for each of the
D3 au: three ports and one that is used to control the 8255.
Da = . The following Table illustrates the register addresses
Di as used in the DAM board.
vs SH ss 8255 8255 Z80 Z80
== 3 # REGISTER ADD EX PORT# DEC PORT#
RET —d Sasser : 1 Ee 0 : 53 83
B 1 57 87
A3 Cc 2 5B 91
A2, CNTRL 3 5F 95
¥ There are actually two MC routines for this clock;
Ik one to set the clock and one to read each of the MSM5832
4 —K registers. All executable code is shown in decimal form
wt : Since this is the most common way that MC routines ATC es
A? : entered.
om Pe pee . _ The following is the "jump table" for accessing the
AS ya: i ten Port various routines to use the MSM5832. The table loads the
At address and READ control signal for the MSM5832 into the
Z80 'H' register and also loads the digit MASK into the
z80 'L' register. The MASK is used to remove the unused
bits from the particular MSM5832 register we are reading
HHHAHHHRHHHHHHHHRHHHHHHHHBHH (each MSM5832 register is a 4 bit register).
16514 01 201201 JP $---- ; Used in part 3
BACK BY POPULAR DEMAND! ! 16517 ou ot JR $5B ; jump to ak reukaiee
HERE IT IS! ONE OF OUR BEST SELLERS! 16519 33 15 44 LD $2COF ; set-up for YEAR10
16522 24 68 JR $44 ; get YEAR10 digit
SEKTOR 2068 16524 33 15 43 LD $2BOF ; set-up YEAR1
FOR THE FD48 USER 16527 24 63 JR $3F ; get YEAR1 digit
16529 33 1 42 LD $2A01 ; set-up for MONTHIO
Finally! A full-featured sector editor for use eres Soe ae aeeas LO aes aaa
with your 2068 and AERCO FD48 disk system. 16537 34 53 JR $35 ; get ps Et digit
Very ae iy Fae egg you 16539 33 3 40 LD $2803 ; set-up for DAY10
WOULG NOT expect a 15 price? 16542 24 48 JR $30 ; get DAY10 digit
. : 16544 33 15 39 LD $270F : a Se for DAY!
Some of the features included are: 16547 24 43 JR $2B ; get DAY1 digit
READ DISK SECTORS - WRITE SECTORS - CORRECT SECTORS 1oaey a ie i SObrup s0r" Fane
DELETE/ERASE FILES - COMPARE BLOCKS ~- COPY SCREENS — oS 7. poGet, VERE er
TRANSLATE IBM CLUSTERS - MSDOS (2 VERSIONS) pe a a es
- WORKS WITH RP/M AND MORE! 24 33 JR $21 ; get HOUR1O digit
16559 33 15 36 LD $240F ; set-up for HOUR1
. ; 16562 24 28 JR $1C ; get HOUR1 digit
All of this at a price that all FD468 users can afford: 16564 33 7 35 LD $2307 ; set-up for MINUTE10
ONLY $15. O@+2ph 16567 24 23 JR $17 ; get MINUTE10 digit
16569 33 15 34 LD $220F ; set-up for MINUTE1
Available on 5 1/4° disk or cassette. 16572 24 18 JR $12 ; get MINUTE] digit
16577 24 13 JR $0B ; get SECONDS10
. 16579 33 15 32 LD $200F ; set-up for SECONDS1
AVAILABLE EXCLUSIVELY FROM: 16582 24 «8 JR $08 ; get SECONDS? digi
16584 33 12 37 LD $250C ; set-up AM/PM/24 f: j
RMG ENTERPRISES 16587 24-3 «SR $03 | get AW/PW/24 flags
1419 1/2 7TH STREET 16589 33 4 40 LD $2804 ; set-up LEAP flag
OREGON CITY, OR 97045 ;
503/655-7484 ; This routine leaves the clock digit in the BC register for
; use by the BASIC progran.
HHHHHHHHHHHHHHHHRHHHHRHRHHH =
a ea ee
a ne a a aaa ee
16592 62 130 LD A, $82 ; set-up PA=out, PB=in 16610 33 20 65 LD HL,$4114 ; load HL with add of
16594 211 95 OUT $5F,A ; write control register ; variable to search for
16596 124 LD A,H ; write add and cntrl 16613 34 22 64 LD ($4016),HL j; also put it in CH ADD
16597 211 83 OUT $53,A ; to clock via PA of 8255 16616 205: 28° 17 CALL $YiiG ; find variable routine
16599 219 87 IN A, $57 ; read clock digit from 16619 218 75 13 JP C,$0D4B ; 1f variable not found
{=PB of: 8255 ; ERR2
alee? 165 AND L ; mask off needed bits 16622 35 INC HL ; point HL to var length
{ 2 79 LD C,A ; Save clock digit in C 16623 oe ea LD A,il ; compare length to 11
03 6 0 LD B, $00 ; clear B 16625 190 CP CHL)
16605 62 0 LD A, $00 ; turn off add and cntrl 16626 40 2 JR-Z,2 ; jump ahead if=11
16607 2124= 83 QUT $53,A ; to clock via PA of 8255 16628 207 RST 8 ; if not=11 generate an
16609 201 RET ; return to BASIC 16629 141 ADC A,LCINV. E) ; ERRE
; 16630 35 INC HL ; point to
* ; 16631 35 INC HL ; begining of string
2 ;This routine will set the clock from a BASIC variable called 16632 12 LD B,12 ; transfer countt1
;D$. The variable MUST contain 11 digits as follows: 16634 62 128 LD A, $80 } program 8255 for
; 16636 211 95 OUT $5F,A ; PA=out, PB=out
s ; "YYMMDDWHHMM” 16638 120 LD B,A ; transfer count is also
; eh obs Sok ee ; used as clock address
; 000 00 16639 246 128 OR $80 ; add hold cntrl signal
; 16641 211 83 OUT $53,A ; write port A
;As an example----- > LET D$="87020430854" will set the clock for 16643 126 LD A, (HL) ; get digit from D$
; WED FEB 4,1987 08:54:00 16644 222 28 SBC A,28 ; string digit -28
: 16646 230 15 AND $0F ; mask off bits 0-3
;¥10 (YEAR 10's)=8 16648 Shia. OF OUT $57,A ; write it to PB of 8255
;Y1 (YEAR 1's) =7 16650 120 LD A,B ; then strobe
;M10 (MONTH 10’s)=0 16651 246 192 OR $CO ; the write signal
;M1 (MONTH 1's) =2 16653 222-83 OUT $53,A ; high
;D10 (DAY 10's) =O WOTE add 4 to this digit for LEAP year 16655 35 INC HL ; point to next D$ digit
;D1 (DAY 1's) =4 16656 16 236 DJNZ, EC ; loop for next
iW (WEEK) =3 NOTE day of the week starting with SUN=0 16658 201 RET ; return to BASIC
;H10 (HOUR 10’s)=0 NOTE: add 0 for AM,4 for PM, or 8 for 24HR 16659 0 NOP ; used in testing
; if digit should be a "2" and it's a 16660 41 ADD HL, HL(D) ; search table
i 24HR clock make digit an "A" (2+8=A). 16661 13 DEC C ($) 3 (DS)
;H1 (HOUR 1's) =8;M10 (MINUTE 10's) =5 16662 255 RST 38 ; termination byte
;M1 (MINUTE 1's) =4
;NOTE that seconds are set to 00 when writing the clock chip. The following routine will allow you to enter and
then use the MC routine as a BASIC clock. Note, however,
‘ that since BASIC is being used to access the clock, the
: LET D$="8710593A335" <NL> update of seconds will be SLOW! You can, of course, in-
; RAND USR 16517<NL)> clude colons and whatever other "pretty-printing" you
; desire. I'll give.a listing for a Machine Code clock in
; The routine will generate two different errors; an upcoming issue of TDM (when another installment of
the DAM board will be presented...mainly software).
\ ERR 2 The normal variable undefined error
NX ERR E (inverted) This indicates that the D$ variable is ne eee
re E NOT 11 digits in length.
j
;To set the clock for WED OCT 19, 1987 23:35:00 LEAP YEAR use:
Lemke Software Development |
2144 White Oak, Wichita Ks., 67207
PRESENTS
original programs for the TS 2069
PIXxelu SKETCH and GRAPHICS EDITOR v2. 2]
5 ° % % “
| acealieenammemeeemeninee a FEDALE Germann oe we maa (see TDM review: Sept/Oct *86 -- vol 2, no. 6)
t t
32 Column Graphics * Merge Screens
64 Coiumn Graphics % 2040 Printer (all modes)
FRESENMTS
~t- SCREENDESIGN -+-
Extended Color Mode Graphics * TASMAN, AERCO, A&J, Oliger
Full Screen "WINDOW" Editing CPI compatible for most
Multiple Fonts IBM/EPSON type printers
% MUCH — MUCH — MORE
ot ot ot oe
= th CAP H ANN
(see TDM review: Jan/Feb *87 -- vol 3, no. 2)
WOULD YOU LIKE TO BE ABLE TO DESIGN SCREEN DISPLAYS
LIKE THIS WITH A MINIMUM OF EFFORT?
COLOSSUS is a Low Resolution Graphics Designer Program.
% 24 Rows x 1024 Columns % Insert/Delete Rows/Columns
& View/Edit your Banner Design * Copy/Erase Segments
% Scroll Left/Right % Multiple Fonts/Sizes
z
2040 Printer or Full Size Printer (needs your ZPRINT-80 code)
WELL NOW YOU CAN!! With just a few keystrokes, you too, can
esign and save screen displays even better than this one!
You can even make ye own UDGs with the built in UDG
design mode. You will have your choice of type styles and
fonts to choose from. You can even install a scrolli
CHECKBOOK 4 BUDGET MASTER
Complete 800 Check Database * Tallies INCOME and EXPENSES
14 User Defined Categories as Checks are Filed
message with extra large letters! A great attention getter ¢ PRINTED and PLOTTED catgut ads to'Gatenory nesses”
z
? for ads, promotions of shows. You will be amazed at how
siaple this ae is is to use! Many built in commands like
change ink/paper colors, erase, redo and sore!
We have never seen anything like it! We’ll bet you haven’t
seen a utility like this either!
ONLY $14. 95+82 SH.
AVAILABLE EXCLUSIVELY FROM:
on RMG ENTERPRISES
1419 1/2 7TH STREET
OREGON CITY, OR 97645
503/655-7484
Get these FINE programs from LEMKE SOFTWARE DEVELOPMENT only
2040 Printer or easy Full Size Printer Driver installation. |
$19.95 ppd. (each), $37.95 ppd. for any 2, or $55.95 for all 3.
5S D Lemke
Lemke Software Development
2144 White Oak
Wichita, Ks. 67287
bo
iy
1 REM XXKKKKKKX <<===== enter 170 k's here
5 FAST
6 INPUT X
10 FOR X=X TO 16662
15. PRINT AAT "20, Ofaeet +; PERK X;
20 INPUT D
30 POKE X,D
35 PRINT AT 20,10; PEEK X
36 SCROLL
40 NEXT X
50 CLS
52 SLOW
53 PRINT "ENTER DATE, TIME”
54 INPUT D$
55 RAND USR 16517
56 PRINT AT 10,10;
60 FOR X=16554 TO 16579 STEP 5
70 PRINT USR X;
80 NEXT X
GOTO 56
RUN the program, and when you get the "L" cursor,
enter the starting address for the MC routine which, in
our case, is 16514. After you enter all the bytes, you
will get the "L" cursor. Enter the date and time in the
format described in the MC routines, then the BASIC
routine starting at 50 will display time. /
That's it! As I've said in previous articles...Drce
me a line! Let me know how you used the project. I'll be
more than glad to assist anyone. We Sinclair hackers
always seem to stick together. If you've always wanted
some peripheral for your Sinclair but just can't seem to
find one, let me know what it is. It may make a _ great
future project/article in TDM. Don't forget, next issue
will feature my INTERNAL 64k RAM upgrade for the TS1000.
Watch for it!
TS 1000/1500 PROGRAM CHAINING
aa
Earl Vv.
A few "bugs" crept into the manuscript and the text
of Part Five as published in the last issue. The "tree"
in line 4 of the second paragraph, on the left side of
page 40, should read "three". The "TS1000" in the first
line of the last paragraph, also on the left side of
page 40, should be "TS1500". The "needed to save memory"
starting on line 13, from the bottom of the right column
on page 40, should read "needed and to save memory".
Having completed the homework assigned in Part
Five, we are now ready to determine the Upper Limit of
the Safe Area, the address of E Line, the Lower Limit
of the Safe Area, for each module and the minimum
address to which we can lower RAMTOP and have the entire
Chained Program operate properly. We will start with the
TE module.
Turn on the computer and set RAMTOP to 17408, by
entering the direct commands:
FAST
POKE 16389,68
NEW
Load the preliminary TE module from your homework tape
using the direct coitinand:
LOAD "TE"
When the cursor appears, type in one 32 character line
(the left hand quote symbol marks the end of the line),
then press ENTER. Type in STOP (using the shifted A
key), then press ENTER. When the prompt appears, press
any key. When the diagonal LOAD lines appear, press
BREAK.
To determine the address of the Upper Limit of the
Safe Area, starting at RAMTOP minus 50 (in this case
17408-50=17358), PEEK each address downwards in memory,
noting the decimal value returned, until you find
nothing but zeros for at least ten addresses. The
command to be used is:
PRINT PEEK nnnnn
where the "n's" are the address to be PEEKed. The
address just before those with all the zeros should be
17353 and should contain the decimal value 125. As_ the
values used in the Machine Stack and the GOSUB_ stacks
are pairs, in.this case the High Byte occupying the
higher uneven address (because RAMTOP is set to an even
value), the Low Byte is zero in address 17352 and _ the
Upper Limit (UL) of the Safe Area is the address 17351
for the TE module.
To determine the addrss of E Line use the direct
command: ZS
PRINT PEEK 16404+256*PEEK 16405
The value returned should be 16918.
To determine the Lower Limit of the Safe Area and
to overcome the curve that the Wicked Wizard of ROM has
Dumnmmni nmgtomnm
presented us with, we will use a slightly different
"Flypaper" program than the one presented in Part Two of
"Adventures In The RAM Jungle And Other Mysteries" (page
12, Nov/Dec '85 issue of TDM). Instead of POKEing a 5
into the addresses above E_ Line, we will POKE a_ series
of numbers from E_ Line up in memory, using the Flypaper
program (Figure No.5). After loading and operating the
TE or other module, the top of the Calculator Stack can
be found where the series is broken. The Lower Limit is
the address just above this, where the value has _ not
been changed.
If your computer is still on, use NEW to clear the
memory, other wise turn on the compute and reset RAMITY
to 17408 as you did before. Type in the program c
Figure No.5. Enter the direct commands:
LET A=1
GOTO 10
When the 0/40 appears at the bottom of the display, load
the preliminary TE module again from your homework tape
using the command:
LOAD "TE"
When the prompt appears on the screen and the cursor
appears, type in 62 characters this time before pressing
ENTER. We use 62 characters this time to allow for the
typist making an error by over-running the end of line
marker (the left hand quote symbol). Type the keyword
STOP (shifted A key) and press ENTER. When the new
prompt appears, press any key. When the diagonal load
lines appear on the display, press BREAK. Enter the
direct commands:
CLEAR
PRINT PEEK 17172
The value returned should be 255. Continue PEEKing the
addresses down in memory until you locate where the
series breaks. All going properly it should be at
address 17039 with the value returned of 186. This
address marks the highest address that the top of the
Calculator Stack used during the program run. The Lower
Limit of the Safe Area is the next higher address 17040
with the value returned of 123. You must be careful not
to do anything that would LIST the program during the
determination of the Lower Limit as this would mess up
the values and you would have to start over.
We now have the data we need to find out the number
of bytes in the Safe Area of the TE module (each addr
holds one byte or eight bits). The formula for this 1
Upper Limit-Lower Limit+l
For the TE Module:
17351-17040+1=312
As there must always be 36 bytes in the Spare Area of
the memory to avoid an out of memory error, the approx-
imate lowest value to which we can set RAMTOP and have
the program and the computer operate properly is:
17408-312+36=17132 (APPROXIMATE)
The value is approximate because when the top of the
lculator Stack is at its maximum address, the Machine
“_cack may extend down a minimum number of addresses
below RAMTOP or vice versa. Because of this some pro-
grams will operate without adding any or all of the 36
bytes. Trial and error is the way to find out. In this
case we do not have to add any of the 36 bytes and the
minimum address to which RAMTOP can be set for the final
version of the TE module is:
17408-312=17096
The typist can actually overrun 31 characters and press
ENTER without the computer acting up. As it is standard
programming procedure never to store any data in the
address of RAMTOP, in line 180 of the final version of
the TE module and line 140 of the final version of the
PRT module, we use 17097.
The value of the variable B used in both the TE and
PRT modules is dependent uppon the amount of RAM that
you have. As an example, let us compute the value of B
for a ZX81 with only 1k RAM. The first nonexistent
address is 17408. The number of characters that could be
stored would be:
17407-17097+1=311
The number of 32 character lines that can be stored are:
INT (311/32)=9
The number of characters in nine 32 character lines are:
9*32=288
When we are out of space to store a complete 32 char-
acter line, we want to stop the text input or the
printer and in the TE module, a STOP character code
(227) stored at:
B=17097+288=17385
As "repetition is the key to learning" and because
each module presents a slightly different problem, let's
termine the addresses of the UL, E Line, LL, and
“amber of bytes in the Safe Area for the other two
modules, starting with PRT.
Clean the memory by turning off the computer. In
order to have the printer stop after printing one blank
32 character line, we need to POKE the address:
17409+32=17441
with the code for the BASIC keyword STOP (227). Also we
want the fast mode and to set RAMTOP to 17408 prior to
loading the preliminary PRT module from the homework
tape. Enter the direct commands:
FAST
POKE 17441,227
POKE 16389,68
NEW
LOAD "PRT"
When the PRINT TEXT query appears, energize the TS2040
printer and press the on switch. Type in Y and press
ENTER. After one blank line is printed and the query
appears again, type in N and press ENTER. When the
diagonal load lines appear, press BREAK.
From this point on proceed as before to locate the
Upper Limit. The last value prior to nothing but zeros
will be a 224 in address 17351 and the UL will be 17349.
Find the address of E_Line for the PRT module by
entering the same direct command used for the TE Module.
The value returned should be 16859 which will be used in
line 10 of the Flypaper program.
To determine the Lower Limit of the Safe Area of
the preliminary PRT module, clean the memory by entering
NEW. Type in the program of Figure No.5, changing line
10 to read:
10 FOR N=16859 TO 17113
, iter the direct command:
LET A=1
GOTO 10
When 0/40 appears, enter:
LOAD "PRT"
Operate the program as before. After using the BREAK
key, key, enter the direct command:
CLEAR
This wipes out any reserved space, variables, or strings
stored in the VARS area, moving all the areas above it
up to the top of the Calculator Stack, down in memory,
so that PEEKing the addresses will not write over where
the top of the Calculator Stack was during the program
run. Locate where the series breaks by PEEKing the
addresses down in memory from 17113. You should find
this at 16911 with a zero returned. The Lower Limit
would be address 16912 with a 54 returned.
The number of bytes in the Safe Area are:
UL-LL+1=17349-16912+1=438
The approximate minimum address for RAMTOP for the
PRT module would be:
17408-438+36=17006
By trial and error RAMTOP could be set at 17003 and the
PRT module and the computer would operate properly.
If your computer is still on with RAMTOP at 17408,
enter NEW to clean the memory. Otherwise POKE 16389 with
68 and use NEW. Then load the preliminary RT module from
your homework tape. Proceeding in a similar manner as
you did for other modules, find the address of the UL
and E_ Line which should be 17347 and 16765 respec-
tively. :
The program in the RT module does not use the VARS
area. Therefore CLEAR will not move the top of the Cal-
culator Stack down in memory so that peeking the ad-
dresses to find the Lower Limit would write over where
it was during the program run. To fix this problem enter
the Girect command:
DIM AS$(64)
This reserves space in the VARS area for the string A$
and moving the areas above it up in memory including the
Calculator Stack. Again find the address of E Line. It
should now be 16835. Re-record the module using GOTO 10.
Clean the memory using NEW and type in the Flypaper
program, changing line 10 to read:
10 FOR N=16835 TO 17089
Enter the direct commands:
LET A=1
GOTO 10
After the 0/40 appears, enter:
LOAD uw RT "
Use the re-recorded RT module. From this point on pro-
ceed in a similar fashion as you did for the other
modules to find the Lower Limit. The series breaks at
16870 with a zero returned. The address above is 16871
with a 37 returned. Adjusting this address for the space
reserved in VARS, the Lower Limit = 16871-70=16801.
The number of bytes in the Safe Area of the pre-
liminary RT module is:
UL-LL+1=17347-16801+1=547
The approximate minimum address to which RAMTOP can
be set for the RT module is:
17408-547+36=16897
As the highest minimum address to which RAMTOP can
be set for any of the modules in the chained program is
17096, then this is the value that must be used for the
final versions of the modules.
To coin a phrase...explore and "master the possi-
bilities" of your computer. With properly designed soft-
ware and hardware add-ons, there is nothing a Big Blue,
Apple, or AT&T can do that you cannot.
Beginning 280 Machine Code
LESSOn SEVEN
By Syd Wyncocop
Editor: Syd Wyncoop has contributed an excellent article called
"A STUDY IN NUMBERS". Due to space limitations in this issue, we
will run it next time. The article discusses many of the number
systems (bases) that are used by computer programmers, such as
Decimal, Binary, and Hexadecimal. Hopefully, this will bring in
to focus and act as a compendium for students of our "machine
code class", but also should be of interest to all.
Before we begin, I need to ask again for some feedback from
you. Especially if you are a TS1000 user. I have heard from no
TSiQ@@W users and will concentrate the programming on the 2868 if
you don’t speak up! The MC instructions are the same for both
computers however, each program must be tailored to the
operating system. This makes writing this series more difficult.
Also, I need your ideas. What would you like to see? We are near
done with Z8@ instructions.
Let’s talk about the logical instructions, And, Or and Xor.
And and Or do not give the true/false response you are familiar
with if you have used them as Basic boolean operators. Instead,
they and Xor operate on the individual bits of a register, or
other 8 bit location. Also, the flags are always affected
according to the result of these instructions.
Chart 1@ provides the truth tables that explain how each of
the logical instructions affects the bits being operated upon.
While this makes the individual operations clear, it does little
to help you understand the instruction, And F@h, when it is
encountered. In order to understand these instructions better,
it is neccessary to understand a little of Base 2 (binary)
numbers.
Hex/Bin Conversions
Bin {Hi
0208
2001
0010
@G1i1
01288
@101
@118
@11i1
x
x
NOUPAWNKSA
jTAmonwpwon
Truth Tables
As we discovered in our discussion of hex numbers, the
highest digit in any base is equal to base-1. This means that we
have 2 digits in binary, @ and 1. The typical number 248 or FQh
is 11112@20@b in binary. The b denotes a binary nmumber just as
our h means hex.
Rather than provide a full decimal to binary conversion
chart, I have given you a hex to binary chart. This is because
we have been working with hex numbers which are a very good
shorthand for binary. Eight digit binary numbers are very easily
represented by two digit hex numbers. I have provided program i
for those of you wishing to generate your own charts.
I think you will agree that all those 1’s and Q’s of binary
are begging for us to make an error. That being true, why do we
want to represent numbers in binary? The reason is because the
logical instructions operate on individual bits and these bits
can be easily represented as set or reset (on or off, if you
prefer) which is 1 or @, respectively. Binary provides an easy
way for us humans to determine how our friend CPU will act.
Let‘s look at And. And is often used to mask off unwanted
bits. Suppose our routine puts the result in the accumulator and
we want to insure that the result is never greater than 7. We
would do this with the instruction, And @7h. If A contains 52h,
the And @7h would make A contain @2h.
A = 01010010 = S2h
And 00000111 = O7h
A = 08000018 = O2h
The result is always placed back in the A register. We have
effectively said we only want to know about the three least
significant bits of A, therefore we have discarded the rest.
Or is used to set the bits we need. If we wanted to insure
the most significant bit is set we would Or 8@h. If we wanted to
insure the most significant bit is reset, we would And 7Fh. Can
you see where 10000@0@ and @1111111b are more useful than 8@h
and 7Fh with these instructions? Binary allows you to see
exactly what is happening.
A = 01010010 = 82h A = 01010010 = 82h
Or 1800200088 = 80h And 01111111 = 7Fh
A = 11010010 = D2h A = 01018018 = 82h
-
——
ss
=
Chart 11
!_ Rotate and Shift
! Rica
Rla
Rrca
Rra
Rle r
Rlc (HL)
Rior
Rl (HL)
Rre r
Rrc (HL)
. Rear
Manipulation ' Rr (HL)
byr ! Slar
b, (HL) ' Sla (HL)
Sra r
Sra (HL)
Srir
Srl (HL)
Rid
Rrd
An example of using Or would be when we want to calculate
an address. We would calculate the offset in A and then Or. it
with the high byte of the address to complete the calculation.
Xor is not a fugutive from the Outer-limits! It is a
special case that sets only those bits that differ. For
examples
A = 10010110 = 96h
Xor @10111@01 = SDh
A = 11001011 = CBh
This is referred to as complimenting. Xor is complicated and is
not used often but it is handy at times.
The bit manipulation instructions are the largest single
group of 780 instructions. They are Set, Res and Bit. They are
easily understood as they set, reset or test the status of any
bit in any register or address.
Set and Res are the set and reset instructions respectively
and they do not affect any flags. These instructions are useful
when you need to set/reset a bit without affecting the other
bits in that byte. You could use And and Or to accomplish the
same task but often you will not know the status of the other
bits. Set and Res avoid this problem.
Bit is the test instruction. The bits are unchanged but the
Zero flag is used to indicate the results of the test. The flag
is set if the tested bit is zero, and reset if the bit is one.
The rotate and shift instructions are also bit manipulation
instructions. They are classified separately as they operate on
the entire byte. Many of them use the Carry flag to store a
bit.
Rica rotates the contents of the accumulator left one bit,
Placing the sign (most significant) bit in Carry as well as in
bit @. The effect of this instruction is to multiply A by 2. For
examples
11090100@b becomes 10010@01b
Graphically it looks like:
SSeS S2e= > ss8e508= > sss see
Aa '
+--—+ SO bem ee + ‘
1C 'Memmens! 76543210 !<mmee
rt +--~----------- +
Program 1
10 LPrint "Dec Hex Bin"
20 For i=@ to 255
180 Let h#=" "
110 Let hi=Int (1/16)
120 Let h#(1)=Chr$ (h1+48+(7
And hi>?))
13Q@ Let h2=i-h1*256
140 Let h#(2)=Chr# (h2+48+(7
And h2>9))
280 Let b#="20000000"
210 Let a=i
228 For n=7 to @ Step -1
230 If (a-2*Int (a/2)) Then Let
b$(n+1)="1"
248 Let a=Int (a/2)
258 Next n
3@8 Let t=(1 And i<1@)+(1 And
i<198)+(@ And i<10@@)
310 LPrint Tab ts3isTab 5S;h#; Tab
18;bs
320 Next i
TS10@@ users need to change the following lines:
120 Let h#(1)=Chrs(hi+28)
140 Let h$(2)=Chr$(h2+28)
Rla rotates the accumulator bits left though Carry. The
Carry flag still contains bit 7 but the prior Carry flag is now
in bit @. Here it is graphically:
oo aos ee ee = pee
“a '
a +--+ +-------~----- '
S<mem! C !<emenen! 76543210 !<=nmm
+---+ +—-------~----~----- +
Rrca is similiar to Rlca. This time the accumulator‘s bits
are rotated right. Bit @ is copied into Carry and bit 7. The
effect of this instruction is to divide A by 2. This one = looks
likes
Se Se a me a ee oe
' “a
' te + ms +—---+
sse=>! 76543 21 O !meneunez=>! C !
+—----------------- + +--+
Rra is not surprisingly like Rla, except that we are
rotating right. Bit @ is rotated through the Carry flag. Here it
is:
Soenccemes< sees, eee oe Heese eee
' ”~
H tern nr rn ee + a a
sem=ee>! 7654321 0 !eeeeeees=>! C !ane>am
+--------—-- ~~ + +---+
The remaining rotate instructions will operate on any
register (including A) or the contents of any address. Rlc r is
graphically the same as Rica. Rl r is graphically the same as
Rla. Rrce r is graphically the same as Rrca. Rrr is graphically
the same as Rra. The difference between Rra and Rr A is that Rra
affects only the Carry flag while Rr A affects all the flags.
The shift instructions are the true arithmetic instructions
although they are otherwise similiar to the rotate instructions.
The first, Sla is similiar to Rlc instruction, except that the
least significant bit becomes zero. The effect is to multiply
the register or address contents by two. Graphically we have:
toon + +e + +--+
! C !<memmme! 76543210 '<mmum! Q !
+--+ +----------------- + +---+
Sra will shift right arithmetic the bits in the specified
register or address. This is similiar to Rre except that bit @
is only copied to the Carry flag. Bit 7 remains as it was. The
effect of this is to divide signed numbers by two, leaving the
carry set if there was a remainder (you were dividing an odd
number). Graphically, we have:
+----—---------- + + +--+
seece=! 765 43210 !=mmx>! Q !
! +—----------------- * +---+
‘ “
Srl, or shift right logical is the same as Sra, except that
the most significant bit becomes zero. Graphically, this is the
reverse of Sla:
+--+ +----------------- + +--—+
! O tememmnene>! 76543210 !=m=m>! C !
+---+ +------------- + + +---+
The last two shift instructions, I have never found a use
for. They are Rid and Rrd, which mean rotate left decimal and
rotate right decimal, respectively. They operate on the contents
of the memory location addressed by HL and the accumulator.
In the case of Rld (not to be confused with Rl d) the low
nybble of (HL) is copied into the high nybble of (HL), the high
nybble of (HL) is copied into the low nybble of the accumulator,
and the low nybble of the accumulator is copied into the low
nybble of (HL). Got it? Here’s a picture:
2m ee > ek ee ee ee ee) we a as ee )> eS
A 7-65 4 !°3 228" (HL) !' 76S 473210!
nee eee ee oe ee
For example, assume A contains 7Ah and (HL) contains Zih.
After an Rid instruction, A will contain 73h and (HL) will
contain iA. ‘
Rrd behaves just as obnoxiously except, of course, that the
rotation is * the right. Here it is:
Saeco ee oe Dee pe
A! 7 -6;3: 4222-2-5-0-! (HL) ft 726 8 4! S271 8!
Boss ( noeecees (eee oe oe
Remember, you will be limited to an eight bit answer with
these instructions. The Carry flag will indicate an overflow and
the accumulator, register or memory location will contain the
difference. In other words, all arithmetic results will be
modulo 256.
Now, how about a practical application? Let’s develope a
hex dump routine. We can show any byte as two hex digits once we
know where to begin. We need the Basic interface first:
fs)
Fors |.
os 5
TS 2065
And now the Hex
Th
flow al
Bil
ead
=, . Sl
fr certain
fe ct ¢ “oT
iT Far BKS abiue are beahg Us
Stable afd can
TAX
Mex rie lH ior
$12.89 on
Starring the Lovely fis
eel of Fartune clane.'
ripe OR HONEY
a (Progra ffi
Employee ulthholaing & dar
Mos a EO Se O4
tah complete this Ree COnFLSLNG Fork Faster than t
called gin: benonstrate Te Your Frignds ahd neighb
=1/5 i 3 eDbi
ark “ay prare
be #ERGEd #ith your bookkeeping
PROGRAMS
ORDER ,
HERB BOWERS,
2595 Woodshire
Chesapeake, WA
Fhone:
ebypesipe POearae,
ot Cas
amd ‘You
how the WEL Ax
; the fttitire
You Cah calculate hot Much Your Federal Incowe Tax ill be Far
188? ahd 1938 by ing 1586 ae Hoe ¥ill the AER THE Las
gifect wou ghd id om. basa! - a i pecaae re me gp ear
ae
ohals". 7
for Sis
cas
5 “5
6O4 457-
Hex Dump Interface
18 Print “Dump from decimal
address: ";
22 Input a
38 Print a
48 Print
SQ Poke base-1,Int (a/256)
6@ Poke base-2,a-Int
(a/256) #256
7@ Rand Usr base
75 Rem base=address of Hex
Dump substitute your addresses
for base
82 If Inkey#="" Then Goto 82
98 If Code Inkey$=13 Then Goto
78
95 Rem 13=Enter on the TS20@68
Use 118 on the TS1000
102 If Inkey$="Z" Then Copy
11@ Goto 8a
Dump routine for the TS2068. Remember to
use your addresses in place of the xxxx.
Store Equ HexDmp-2
FDCB@286 HexDmp Res @, (TVFlag)
2AKxxx
G@E19
7c
22xxKxXK
Ld HL, (Store)
Ld C,1@h
OutriLp Ld A,H
Call HexPrt
Ld A,L
Call HexPrt
Ld A,2@h
Push AF
Rst 18h
Pop AF
Rst 18h
Ld B,@8h
InnrLp Ld A, (HL)
Call HexPrt
Ld A,28h
Rst 18h
Inc HL
Djinz,Innrlp
Ld A,@Dh
Rst 10h
Dec C
Jr nz,OutrlLp
Ld (Store) ,HL
sthis bit tells the Rom
sroutine to print in the
3mMain screen area
sget address to begin dump
3counter-# of lines to dump
3get the high byte of the
3first address in this line
30f the dumped bytes
399 print it
3get low byte of address
399 print it
sascii space
3save the space character
3print the space
sretrieve the character
gPprint another space
;counter-# bytes/line
sbyte to accumulator
390 print it
sascii space
sprint the space
sadvance byte pointer
3loop for 8 bytes
gascii carriage return
390 to start of next ‘line
3count one line done and
sloop for 16 lines
sstore start of next line
Cc? Done Ret sreturn to basic
FS HexPrt Push AF ssave it
E6FO And FQ@h smask off high nybble
if Rra sand rotate to low nybble
1F Rra
iF Rra
1F Rra
CDxxxx Call Print 39° print digit in A
Fai Pop AF sretrieve it
EéQF And @Fh 3mask off low nybble
CDxxxx Call Print $9° print digit ina
c9 Ret sret to calling routine
FEGA Print Cp @Ah scheck if digit is greater
gthan 9
3F Ccf 3if so, set carry and
DCxxxx Call c,Offset 390 adjust for correct
gascii character codes
C4638 Add A,38h smake a printable char code
ES Push HL j Save registers
cs Push BC
D7 Rst 10h 3Rom print routine
Ci Pop BC srestore registers
El Pop HL
c9? Ret 3return to calling routine
C407 Offset Add A,@7h sadjust digit to skip over
sascii characters between
37? and A
c9 Ret
sreturn to calling routine
And tor you TS1000 owners (I still use mine!):
2A7B48 HexDmp Ld HL, (Store) sget address to begin dump
GE18 Ld C,1@h scounter—-#of lines to dump
7c QutriLp Ld A,H sget the high byte of the
3first address in this line
sof the dumped bytes
CDA94B Call HexPrt 390 print it
7D Ld A,L 3get low byte of address
CDA94@ Call HexPrt 390 print it
AF Xor A ssame as Ld A,O@8h
FS Push AF $Save the space character
D7 Rst 18h sprint the space
Fi Pop AF sretrieve the character
D7 Rst 10h sprint another space
2408 Ld B,@8h s;counter-# bytes/line
ae: InnrLp td A, (HL) sbyte to accumulator ee
CDA948 Call HexPrt 3990 print it ¥
AF Xor A 3get space character /
D7 Rst 18h sprint the space ;
23 Inc HL 3advance byte pointer
1QF7 Dinz,InnrLp sloop for 8 bytes
3SE76 Ld A,76h 3get carriage return char
D7 Rst 18h 390 to start of next line
@D Dec C scount one line done and
28E2 Jr nz,OutrLp sloop for 16 lines
227B48 Ld (Store) ,HL 3store start of next line
c9 Done Ret sreturn to basic
FS HexPrt Push AF 3Save byte
E6Fo And FQ@h 3mask off high nybble and
iF Rra srotate to low nybble
iF Rra
1F Rra
iF Rra
CDBA4@ Call Print 390 print digit ina
Fi Pop AF sretrieve byte
E6@F And @Fh s;mask low nybble
CDBA4@ Call Print $99 print it
c9 Ret sreturn to calling routine
Ccéic Print Add A,1Ch s;make a character @ to F
ES Push HL ;Save registers
cs Push BC
D7 Rst 10h 3Rom print routine
ci Pop BC srestore registers
Ei Pop HL
Cc? Ret sreturn to calling routine
I have to assume that if you are still with me,
obtained some good study aids. Since almost all
you have
books on the
subject of Z8@ MC have numerous tables in them, this is the last
time I will give the hex codes in the MC disassemblies. I will
instead, provide the source code.
another lesson. See ya soon!
What‘’s source code? That’s
NUMBER MADNESS
by Zack Xavier Haquer
Here is a challenging game for those of you who are
tired of shoot-em-ups and pac-persons. The computer
"thinks" of a four digit number, and your job is to
guess (or rather, deduce) the number. Each time you
guess, the computer gives you a clue which will tell you
how many digits are correct and in the right place (A),
correct but in the wrong place (B), or completely wrong
(C). Note that the order of the letters in the clue DOES
NOT necessarily correspond with the position of the
digits!
You have the option of selecting five levels of
play. At the hardest level, only your current guess is
displayed, making it a challenge to memory as well as
logic.
Ten "sets" constitute a game. The average number of
guesses it takes is your score; the lower, the better.
(A maximum of 15 guesses are allowed.) After a game,
your name is entered into a "Hall of Fame", which can
then be saved to tape (along with the program and other
variables).
Being entirely in 2X BASIC, with no “tricks," this program can
be easily converted to TS2068 or Spectrum. The changes are as
follows:
1: Remove FAST and SLOW commands.
2: Replace referenes to CHR$ 118 to CHR$ 13 (as in the IF
INKEY$=CHR$ 118 THEN... lines).
3: Replace dummy FOR-NEXT loops with PAUSE (the FOR-NEXT was
used instead of PAUSE to prevent the blink that results from
using PAUSE with the 2X81). For example, delete lines 300 and
305 and use 300 PAUSE 60 instead.
4: Modify the SAVE command at 2590 as desired. For example, you
might want to use:
2590 SAVE “scr" SCREEN#: SAVE "guess" LINE 3000
To load the program and screen, use LOAD "scr" CODE: LOAD
"guess"
St Add color, FLASH, sound (BEEP), and lower-case as desired.
999
9
928
1s 409" a —
vg
> a
>
5
18
15
ps
26
25
38
58
60
189
116
120
130
148
158
166
178
1898
196
286
218
228
230
240
256
2608
278
288
298
MS
MM Se
2o2
REM GUESS MY NUMBER
SLOW
DIM AS)
DIM B15)
BEM. .C iS)
Din. Zz
DIM C
J
K
FOR A=9 TO
PRINT AT
NEXT 4
FOR A=21
PRINT AT
NEXT 4
FOR A=11
PRINT AT
NEXT 4
FOR A=" TO 22 STEP 3S
PRINT AT :
NEXT A
PRINT AT
FOR A=22
PRINT AT
NEXT A
PRINT AT
RAND
295 PRINT AT 3,5
7" AT 5,27; INT (1i868G4RND) ;'
;QF 15,3; INT {16GGGERNDI. "7"
396 FOR A=1 TO is
305 NEXT A
-318 PRINT aT 2
: c= the
i PRINT AT
S38 LET AS=INKEYS
> INT LL OSCOeRNE
Pate
20,0; SELECT DIFFI
G40 IF AS>"@" AND AS<"S" THEN G
OTO 469
oss IF A$=CHRS 125 THEN GOTO 56
3606 GOTO 339
4090 CLS
405 LET T=VAL AS
420 PRIN HELLO, THERE.*
4290 PRINT AT 3,5; "WHATS YOUR NA
HE?"; AT 29,0; "(TYPE NAME, UP TO
8 CHARACTERS, THEN ENTER.)”™
430 INPUT 2$i13
446 LET A=5
as IF Z$(1,A} <>“ THEN GOTO 4
460 LET A=A-1
470 IF NOT A THEN GOTO 468
4380 GOTO 452
490 LET 2$(1,A+1}) =
580 CL5
5@5 LET L=0
a PRINT “OK >. =) Z$02j3,7 “HERE Go
Sas
520 FOR A=1 TO 2o
525 NEXT &A
53@.CL5
540 LET J=J+1
S50 PRINT AT 8,28; "GAME NO. “jd
rey LET E=INT (i8@080+RND+500¢ (L
+J
S70 IF &¢<=9995 THEN GOTO 66a
S80 LET E=E-INT (5660G64RNDi
596 GOTO 579
600 LET A=E
610 FOR B=4 TO 1 STEP -1
620 GOSUB 39638
630 NEXT 6
635 PRINT AT 1,8; "TRY NUMBER CL
UE"
640 LET L=L+1
L+2,8;"
| PRINT AT
_ 85@ IF L<4 AND
21,0; "(TYPE
“660 INPUT F
665 IF Fc=9999 THEN GOTO 682
670 PRINT AT L+2,8;"TOO HIGH, “
;25(1)
672 FOR A@=1 TO is
A
J=1 THEN PRINT 4
NUMBER, THEN ENTER
ore
677
6860
665 L+2,6:;
ws
690 IF L<¢4 AND 1 THEN PRINT &A
cere rk” icy
71i@ PRINT AT
a
PRINT AT
L+2. O;L;AT L+2,15;
“O@900";AT L+2,17-LEN STRS F; F
715 IF E=F THEN GOTO 1290
720 LET A=F
GET. H=o
LET I=
FOR B=8 TO 5
GOSUB Saeae
NEXT B
FOR B=5 TO &
FOR C=1 TO 4
IF AtC}) =A(B)
GOTO &42
LET Heh+2
LEC =4
NEXT ©
NEXT 8
FOR 8=5 —CoO-sS
LET -C=8-—<4
IF A(C) =AIB:
GOTO 32a
LEP rare
LET H=H-¥
HEXT 6
LET V=I419+H42+9188
GOSUB U
_T
LET U=
THEN LEF U=is
STEP -1
THEN GOTO 5298
THEN GOTO 36898
x
IF U=5
LET UsL-U
IF U<1 THEN GOTO 1686
PRINT AT, U+te,19;" «:
PRINT AT: L+2,19; V5
SLOW
IF t<¢<=14 THEN GOTO 6498
PRINT AT 15,5; "YOU BEEverls
pee}
1@21 PRINT
er 3 PRINT TAB 5;"
THE NUMBER I5
GOTO 1258
GOTO 18408
PRINT AT L+2,19;
SLOW
FOR A=1 TO 3
FOR B=1 TO 5
NEXT 65 e
“RRAR"
PRINT
NEXT 4
PRINT “
PRINT AT 16. ae acre th a ie
‘$4¢70U GUE
= ~
PRINT “(PRESS “"“ENTER"" TO
CONTINUE. 3"
1280 IF INKEY$=CHR$ 115 THEN GOT
Oo 1506
42908 GOTO 1259
1380 CLS 3
1395 IF J=10@ THEN GCTS 2000 ae
1310 PRINT “AVERAGE= “; (STRS (Ke
Jd} +" bot 1G) es 2 S|
1326 GOTO 54a
2600 CLS RS
2Q10 PRINT AT 2,16; "END OF GANE.
20209 PRINT
2625 LET K=K718 ; ae
20308 Stee TAB $;"YOUR 18-GAME =
CORE I5 : =
2035 IF KL her K=@ THEN PRINT 2a
2O50 LET AS="FEEFEEEFHEEEEEEFETE
ae
2660 LET B$="++
+e"
2O7O PRINT AT &,5;
AT @ 5;
PRINT
ss =
PRINT AT
PRINT AT
3
3
2110 FOR A=19 TO i5
2120 PRINT AT A
2125 NEXT A
2130 PRINT AT 16,.5;A$;AT 17,.5;A%
2190 LET X=1
2200 IF Bix) =@ THEN GOTO 2585
2205 IF K>B(X) THEN GOTO 2216
2207 GOTO 2240
2210 LET X=xX+1
2229 IF X=65 THEN GOTO 24596
2230 GOTO 2200
2240 FOR A=5 TO X+1 STEP -i
2250 LET BA) =BiA-13)
2255 LET CA) =C(A-1)
2260 LET C#$(Ai =C#LA-1)
2265 NEXT A
2385 LET C#(X)} =Z2$ (1)
2306 LET B=9 a
2387 IF CH(xX,Bs =" THEN GOTO 235
ia
2305 _IF. CRUX, By-=" | THEN LET Cat
+ ae aR
2389 “g0TO 2315
2310 LET B=B-1
2312 GOTO 23587
2315 LET B(x) =K
2316 LET Ctx) =T
2317? PRINT
2318 LET B=9
2319 LET Bs=Cs(xX) ¢ TO Bi
2320 IF BS(B)=" “ THEN GOTO 2322
2321 GOTO 2325
23aa LET B=6B-1
2323. G0TO 2319
2325 PRINT “+++CONGRATULAT IONS¢<¢
$°; 8S; "443"
23308 LET W=1
2346 GOTO 25208
2490 LET U=8
2580 PRINT ME 3197S =
2505 FOR A=1 TO 5
2518 PRINT AT 18+8,6;C
+H ,27; BAI; AT 18+R,22; t
2520 NEXT A
2525 IF xX=6 THEN
i Bais 5 $ C135
2530 IF W=1 THEN GOTO
2549 GOTO 3018
25598 PASS AT 29,
eS 4 i a8
2559 PRINT “REWIND
““MENTER 5
2565 POKE 164138,6
2567 PRINT “BYPASS - PRESS “*B""
tt
ha
2570 IF INKEYS$=CHRS 115 THEN GOT
0 2599
oe
seemed
GOTO
SAVE
CLEAR
5680 CLS
PRINT
@ ""“ROUNDS""
(THE
T NUMBER AND
WHAT IT 15."
S850 PRINT THE
GUES55,I WILLGIVE
CH WILL HELP YOU
5060 PRINT
5676 PRINT THE 5;
MY NUMBER I5".,
5860 PRINT
5@50 PRINT
5691 PRINT
5893 PRINT
PLACE {(5}'*
5694 PRINT
PLACE .(1,37"
5695 waht
:
5180 PRINT
5116 PRINT
IES = SCORE
S126 PRINT
Si3@ PRINT ~
QO CONTINUE.3"
51406 IF INKEYS$=CHRS
0 5166
5150 GOTO 5146
5166 CLS
5170 PRINT TAB
5190 PRINT TAB 5;"¥
PTION OF FIVELEVELS
eg
5200 PRINT
5210 PRINT “1
L YOUR
5220 PRINT
5238 PRINT “ce
R LAST FOUR
5240 PRINT
5250 PRINT “3S
R LAST THREE
5260 PRINT
5270 PRINT “4
R LAST THO
IF INKEYS="B
2578
“SUESH"
PRINT AT
PRINT AT
START | JNEW GARE."
PORE 16418
IF INKEYS=
GOTO 36e8
S285
PRINT THE 16,"
PRINT TAB 5;"
OFA GAHE IN
COMPUTER) THINK
YOU TRY
5; “EVERY
“A- RIGHT
“B- RIGHT
“C- WRONG
“AVERAGE NUNBER
(PRESS
anaes OLD anus
20,4;
21,0; "
THEN GOTO
SAVE “GUESE"
RUN
WE WILi
WILL
WAIC
OF @ 4-
EIHE
YOU A CLUE
GUESS My
Si os Se = 3 es
DIGIT,
CIGIT
YOU SEE CLUES
GUESSES."
YOU SEE CLUES
GUESSES.”
PLAY
YOu
WHI
NUMBER
“FOR EXAMPLE,
at 7531"
“AND YOU GUESS:'
4 THEN. THE™
“CLUE
“ENTER =
1128 THEN GOT
wv
aa)
OT!
bet bed bo
ney
Be, GUESS
=
2 8 ie
a5 Geeks
“ABBC
DIGIT ,. RIGHT
WRONG
GF=TR
T
HAVE THE 0
D
FO
5260 PRINT
5290 PRINT “5S - MOST DIFFICULT.
+ OU-SEE-CEGE FOR PRESENT GUES
5S ONLY.”
5380 GOTO 32a
9000 LET C=INT (8/18;
9010 LET A(B) =A-C#is
9030 LET A=C
9650 RETURN
9106 LET Ug="cecce
9181 RETURN
9182 LET VUg="BCCC
9163 RETURN
9164 LET Ren BEC
9185 RETUR
9106 LET gs “BBBC"
9107 RETURN
9188 LET Vs$="BEBBB"
9189 RETURN
9110 LET VUg="ACCC"
9111 RETURN
Sli2 LET “VUs="ABCC”
9113 RETURN
9114 LET VUs="ABBC"
9115 RETURN
9116 LET VU$="ABBB"
9117 RETURN
9120 LET VUs="AACC
S121 RETURN
9122 LET VUg="ARABC
91253 RETUR
9124 LET Usg="AABB
9125 RETURN
9130 LET Ug="AAAC
9131 RETUR:
9132 LET Us="AAAB
9133 RETURN
Sil using ony T6K of TSTOOO RAM
- Now cheaply double or triple
__andunleash your computers tue powe
oe has purchased a large lot of new
Memotech 16K and 32K RAMs directly from England so that
we could offer them at drastically reduced prices.
Memotech RAMs are the highest quality and
best-selling expansion RAMs for Timex/Sinclair computers.
They have sleek looking black extruded-aluminum cases
that conform to the shape of your TS1000 or ZX81. These
16K and 32K RAMs feature feed-through connectors and
circuitry that allows you to use them along with the 16K
RAMs you already have, so that Hh can acheive
respectively, 32K or 48K total system RAM capacity.
Each RAM comes with an easy to understand
instruction manual explaining how to use the RAM to best
advantage, and a 15-day money-back guarantee from
Zebra Systems. Order yours now, while the supply lasts.
i
Acheive 32K with
Memotech 16K
+ your Timex 16K
CAT# R416 Memotech 16K RAM ... $14.95
CAT# R432 Memotech 32K RAM ... $24.95
CAT#S116 Sinclair 16K RAM, TS1016 equivalent... $10.00
Include $3.00 S&H. VISA/MC accepted. NY residents add sales tax.
‘ZEBRA SYSTEMS, ING. }
78-06 JAMAICA AVE., WOODHAVEN, NY 11421, (718) 296-2385
Acheive 48K with
Memotech 32K
+ your Timex 16K
or
949 4999494555949 4-54-5545 454545
You’ve heard of PROFILE 2048.
You y have even heard of PROFILE +3!
But we are willing to bet that you have never heard of:
PROF ILE. #35!
That’s caer, PROFILE +5! A great new addition to the line
of PROFILE updates. We have used all of the various
versions of this i and can honestly say that this is
the ULTIMATE PROFILE!
+5 contains all of the features of PROFILE 2048 and +3 as
well as all of the new features of TOM WOODS’ PROFILE
CARTRIDGE! Including the ‘NOT’ and ‘OR’ search routines.
It also lets kas print in 8@ coluans! It still has the
‘NAME REVERSAL’ print feature and the ‘EDIT A PHRASE’ menu
option. You can now ‘MERGE’ files, ‘DATE’ files and make
use of the great machine code sort routine!
All of this is available in several ways, if you already
OWN one or more versions of PROFILE, you will be able to
Save some money on this version. the complete program on
cassette available for:
ONLY $29. 955+2ph
(User Manual available only from TOM WOODS for $10.0@)
For more information, please call or write!
AVAILABLE EXCLUSIVELY FROM:
RMG ENTERPRISES
1419 1/2 7TH STREET
OREGON CITY, OR 97045
903/655-7484
9454545454545 454545 4545454505
@
se vate A we OS Ok BO a a We Oe we ee
A A A A
ed PR OR SE GS eS Ss Ss SS SSS ee iy,
2% 8s Macering SALE o8% 29% 29% ff
a5? %p? %,? 9 %.9 ©, ,9
ae was Co “eo “eo a
@ROMSWITCH 2--Improved! (CMOS) $39.95 ;
Corrected 152848 ROM + Spectrua ROM
@752868 + ROMSWITCH 2 installed $189.08
@ Spectrum RON $16.95
@ Spectrum ULA chip special design for correct
display on US color TV/monitor. RARE! $42.98
@Timex 2848 Printer, new w.spacers $49.95
@Gi ElectroCAD for Si2K,elect layout $29.95
GL, TS2868, 151880/1508/2X81 hardware/software:
>@lectronic parts, books/magazines, liquidation:
send for free catalog. Free gift w. order.
Send check MQ MC/Visa# - $3. shipping on order
814-364-1325 (Usually answering machine)
Sie
G. RUSSELL ELECTRONICS
RD 1 © Box 539 © Centre Hall, PA 16828
et ee es to eT et ar
3K sc 3k NEW
LARKEN
DISK DRIVES
-------——- LKDOS - EXTENDED BASIC CARTRIDGE ---------
- Uses all standard (Token) keyboard cassette commands
- CAT MERGE ERASE FORMAT LOAD SAVE PRINT and more
~ Uses NO RAM space . HAS 8K ROM and 8K RAM on board
- NMI Memory Save Feature :PUSH BUTTON memory transfer
- Fully 2068 / Spectrum compatible / 0S-64 Compatible
- 10 Extended Basic Commands for Graphics,Utilities and
up to 3 scrolling Windows on the screen in proportional
print (up to 100 characters wide)
- Supports 2 Floppy’s and soon to released 256K RAMDISK
- Can be used with either Larken Disk Interface
- Available soon for RAMEX and other disk IF’s
NEW 2068/Spectrum Disk Interface
- Supports | or 2 - 3" 3.5” or 5.25” SS or DS drives
- Double Density 360k (double sided)
- Snap-shot pushbutton on board
ZX-81 TS1000 2068 Disk Controller
- Supports double sided 5.25" drive , 160K per disk
- The Best DOS for the 2X-81
- Uses no ram :2K Ldos and 2K ram on board
~ Connects to Computer with Ribbon Cable
Wk SK 3K
PRICES ; (US) LKDOS EX-BAS carries #60.00
NEW 2068 /Spec FD Interface $45.00
Add $5.00 ZX-81 Disk Controller $99.00
S&H 256K Raw Disk (TBA)
2- Drive Floppy cable #8.00
% LARKEN ELECTRONICS RR#2 NAVAN ONTARIO CANADA K4B-1H9 *
\
» <
QL Fiight Simalator
Reviewed By Dennis Silvestri
Another flight simulation for a Sinclair computer?
What could this program do that the other flight simu-
lation programs cannot do? These were questions I asked
before receiving this program. Here are my answers.
The usual view of the instruments and out the cock-
pit is provided in QL FLIGHT SIMULATOR. All the usual
flight controls are present, using either a joystick or
the keyboard. The simulation presented is the flying,
landing, and taking off of a small single engine air-
craft. So far, there is not much difference between this
and other programs like it. What makes this program
completely different is in its graphic visual displays.
There is actual scenery to view such as_ mountains,
valleys, water, power lines, towers, buildings, and
other objects. This scenery is shown in what is referred
to as hi-res 3D "wire" (or line) graphics. This type of
display defines only the outlines and/or contours of the
objects they portray. There are also panoramic views out
the cockpit. This type of view is relative to aircraft
altitude and simulates the actual view you would see if
you turned your head left, right, or looked behind you,
as well as looking up or down. There are nine different
scenic areas to choose from (referred to as "worlds"),
which make for some interesting flight simulation.
Weather conditions can be set in any of the worlds,
which affects wind direction and speed, as well as cloud
cover. The weather conditions in each of the nine worlds
can be set separate from one another, and can be called
up at any time should one forget what they were. Weather
readings are also automatically displayed when crossing
the boundary from one world to another. An interesting
feature occurs with the aircraft on the runway. Here,
_one can taxi around...pulling up to various objects.
There is also a fuel depot which is the only source for
yrefueling the aircraft. A radar view is also provided.
This shows the aircrafts position ralative to the ground
and any objects. This view is helpful if you are flying
above cloud cover.
Since the keyboard is also used to control all
SINCLAIR QL
FLIGHT
SIMULATOR
functions not related to actual flying, the user should
expect to spend considerable time in getting familiar
with their functions. No less than 27 keys are used. QL
FLIGHT SIMULATOR comes with very extensive documentation
which includes maps of the nine worlds. These maps_ show
all the objects and their heights. The maps are very
useful, especially when flying between worlds. However,
they are poorly printed, and could have been made larger
for ease in reading. This program has a built in backup
copy feature and uses sound as well as limited color. An
RGB monitor is advisable. Using a TV results in the
lower lines being cut off from the screen.
There are a number of flight simulation programs
available for the Sinclair line (including Spectrum,
TS2068, TS1000). The QL FLIGHT SIMULATOR should be con-
Sidered a leader for programs of this type. As I end
this review, I wonder. This program runs on the standard
128k QL. The computer is expandable to 640k. Upgrading
this program to the QL RAM limits could result in a very
powerful program. QL FLIGHT SIMULATOR should not be
looked at as "just a game", but as the first step one
could take if interested in learning how to fly.
The QL computer used to review this program was
supplied by A+ Computer Response. QL FLIGHT SIMULATOR is
available from most QL dealers.
Sharp’s, Inc.
Rt. 10, Box 459
Mechanicsville, VA 23111
(804) 746-1664 or 730-9697
COMPARE OUR PRICES!
QL Computer
512k RAM-Miracle
Internal 512k RAM
Memodisk (512k & Disk I/F)
Dual Quad-Density Disk Drives
Modapter Plus
Centronics I/F $ 32.95
Task Master $ 39.95
Front Page-Desk Top Publishing $ 29.95
$189.00
$148.95
$129.95
$269.95
$259.95
$ 49.95
Adventure Writing System
Tank Busters
$ 32.95
$ 24.95
Dragon Hold $ 24.95
Super Charge $ 69.95
Q-Liberator $ 89.95
Advanced User Guide
Microdrive Cartridges (set of 4)
Microdrive Cartridges w/o tab
(set of 4)
$ 27.95
$ 8.95
$ 6.95
VISA & MASTERCARD ACCEPTED WITH 3% SURCHARGE. ALL PRICES INCLUDE SHIPPING.
WRITE FOR OUR NEW 6th EDITION CATALOG.
written by Tom Beatty in the February issue of Computer
Shopper. Only the original program's table format and
wind chill factor equations are the same, the rest is a
complete re-write in QL SuperBASIC. I think the function
I used to format the right-justified columns should be
of
outputs the chart to the screen (80 col. monitor) and
"CHART" outputs to an Epson compatible, 80 col. printer.
Wind Chill Chart
By Gale
The following QL program was inspired by an article
general interest to readers. The procedure "TABLE"
100 REMer« RX ERKARAKA KAKA RA AA ARK AAA EAT KAKA KEK AREER KERR KE
110 REMerk RKKKK WIND CHILL CHART EEK
126 REMerk EEKEK T. BEATTY XXKKK
136 REMer« KEK KEKKX
140 REMe« RAKAAAERAAE KAA AK AAAA RAKE AE AAR AAA AA AAKA KARA AAA KEEREEE
158 REMerk HXEEK ADAPTED FOR SINCLAIR QL XRKKK
160 REMerk HEREK BY GALE HENSLEE XKEK
170 REMerk KEKKX AMARILLO, TX EKKE
186 REMerk XEKK JANUARY, 1987 aKKKE
198 REMerk EXEKARAERAAAKAAK AK AAKA KAA AAA AKA AAA AK AAK AAR AAA EAE RARE EEE
202 REMerk MAIN PROGRAM
218 SETLP
228 TABLE
238 CHART
248 STOP
250 DEFine PROCedure SETUP
268
278
288
298
308
318
3228
338
3498
358
368
378
388
398
400
418
428
438
440
458
WINDOW #1, 512, 256, @, @: PAPER #1,0: INK #1,4:Q1S #1
PRINT #1, “LOADING ARRAY — — — ”:PRINT #1
DIM A(16, 14) :H1iS="#HHHH”
PRINT #1, “CALCLLATING ROW: ”;
FOR R=1 TO 16
PRINT #1,R;” ”;
V=2*R+2
FOR C=0 TO 13
T=-5*C+40
AR, C+1) = (18. 45+ (6. 686112*SORT ())- C 447041%V—)) /22. 034 (T-S1. 49) +91. 4
NEXT C
NEXT R
PRINT #1,” DONE”
PRINT #1:PRINT #1, “NOW PRINTING CHART —- — ~“;CS #1
END DEF ine SETLP
DEF ine PROCedure TABLE
Fei
AT ©, 32:PRINT #F, “WIND CHILL CHART”
AT 3, 9:PRINT #F, “DIRECTIONS: (1) FIND TEMPERATURE ACROSS TOP ROW SP hes
AT 4,9:PRINT #F, ” @) FIND WIND VELOCITY (PH DOUN LEFT COL
UN”
468
AT 5,93:PRINT #F, ” (3) INTERSECT ROW AND COL FOR WIND CHILL ¢
IF”
478
482
498
5828
518
520
538
548
558
568
5738
588
592
6228
618
620°
630
6498
650
660
678
680
690
703
710
3.
728
7328
7498
758
762
TT?
782
793
8e0
810
820
838
AT 7, @:PRINT #F, ” s
QaDd=@0
Obi = 5
TErP1% = 10
FOR K=® TO 13
TErP%= —5*K+40
AT 7, TAB CTEDP®) :PRINT #F, TEMPX;
NEXT K
api=5
TEPP1% = 10
FOR R=1i TO 16
WINDS = 2*R+2
AT 7+R, 3+ WIND% <10):PRINT #F, WINDX;
FOR C#1 TO 14
IF A®,O< 8 AND ARO > -1. 5 THEN GO TO 630
TEHP* = INTAR, © +. 5):GO TO 640
TErPX = @
AT 7+R, TAB CTEMP%) : PRINT #F, TEMPX;
NEXT C
apis=5
TEIP1% = 10
NEXT R
END DEF ine TABLE
DEF ine FuNction TABCTErP)
O.D = ADi + 3 * CTEPP% >="10) + 4 * CCTEMP% >=0) AND CTEPPX < 10>) +
CCTEPP% > -10) AND CTEPPX < @)) + 2 * CTEMP% <= -10) t
QDi = OD + 2 — (CErP% < 10) AND CIETP% >= ©) + CEM <= -10
TErMP1% = TEMPX
RETurn OLD
END DEF ine
DEF ine PROCedure L
WINDOW #1, 512, 208, 0,0:CLS #1:CLS #0
LIST #1
END DEF ine L
DEF ine PROCedure CHART
F=5
OPEN #5, SER1
PRINT #F, TO 32;”WIND CHILL CHART”; CHRS (10)
846 PRINT #F, TO 9;”DIRECTIONS: (1) FIND TEMPERATURE ACROSS TOP ROW (’;CHRS(
248) ;“F)” ‘
850 PRINT #F, TO 9;” @) FIND WIND VELOCITY (PH) DOUN LEFT COLUM
NY”
34
Hemslewz
WIND CHILL CHART
DIRECTIONS: (1) FIND TEMPERATURE ACROSS TOP ROW (°F)
(2) FIND WIND VELOCITY (MPH) DOWN LEFT COLUMN
(3) INTERSECT ROW AND COL FOR WIND CHILL (°F)
258 20 15 18 5 1) $10 15
25 10 5 e -10
13 = =3 =8
14 =7e 27
1°
6 -13
3 =t'7
1
8
-3
860 PRINT #F, TO 9;” (3) INTERSECT ROW AND COL FOR WIND CHILL (”;
CRF (248) ;”F) ”; ORS (10)
870 PRINT #F, ” ms
880 OD = @
890 O.Di = 5
9060 TErP1X% = 10
918 FOR K=@ TO 13
920 TErPx= -5*K+46
$36 PRINT #F, TO TAB CTErP®) ;s TErPX;
S40 NEXT K
958 PRINT #F, CHRS (10)
968 OLD1 = 5
S370 TEYP1% = 16
980 FOR R=1 TO 16
SS@ WINDK = 2*R+2
1008 PRINT #F, TO 3+ (WIND% <1) ;WIND%;
1016 FOR C=1 TO 14
1020 IF AQR,C)< @ AND ARC) > -1.5 THEN GO TO 1040
1038 TEP% = INT(A®,C)+. 5):GO TO 1050
1040 TEMPX = @
105@ PRINT #F, TO TAB CTEMPX) ; TEMPX;
1068 NEXT C -—,
1070 OLDi = 5
1086 TEMP1x = 10
1690 PRINT #F, CHRS (13)
1108 NEXT R
1110 FOR PLINE = 1708
1120 PRINT #F, CHRS (13)
113@ NEXT PLINE
1148 CLOSE #5
115@ END DEF ine CHART
G@LG@LGLQGL@GLGL@GL@GLGLGLGLGLALAQLAL
READ ANY GOOD OL BOOKS LATELY?
HOW ABOUT A USERS GUIDE FOR ARCHIVE THAT’S COMPLETE
AND WRITTEN IN PLAIN ENGLISH FOR A CHANGE!
HERE IT IS! JUST FOR YOU!
ARCHIVE MASTER
Qur new book will smoping out shortly after the ist of
March, 1987. We don’t think that there is anything about
ARCHIVE that we have forgotten to cover. We may have
missed some small detail, but we can’t find it!
The book covers ALL COMMANDS and ALL FUNCTIONS in detail!
We step = through each of these and then go on to show
you how to create the ‘PERFECT FILE’. After that, we show
you how to add NEW FIELDS to an existing file.
The next step is to show you, IN DETAIL, the SEDIT or
SCREEN EDIT function. Have you ever turned off your QL
without closing a file and tried to open it again only to
get ‘CANNOT FILE’? If so, we have included a fix for
the corrupted file. THIS ONE ALONE IS WORTH THE PRICE OF
THE BOOK! And if that’s not enough, we even give you the
listings for all of our business software!
All of this at a price of ONE PROGRAM!
ONLY $44 . 9S+$3ph ;
Over 200 8 1/2"x11" pages in a quality 3 ring binder.
ANOTHER SUPERB EXECUTIVE WORKSHOP PRODUCT FOR YOUR QL!
AVAILABLE EXCLUSIVELY FROM:
MG ENTERPRISES
1419 1/2 7TH STREET
OREGON CITY, OR 97645
503/655-7484
QLQGLQGLGLQL@GL@QL@QGLGL@LGL@QLGLGLQL
Trouble-shooting the QL
I've now seen a total of six QL's: two assembled at
the factory and four kits. I have to say that quality
control leaves much to be desired, a situation I hope
ill improve. This information is intended to provide
“—rielp for new or prospective owners, to get started with
a little less trouble than I had when a defective
computer is received. The two defective parts I've ex-
perienced were keyboard leads (1 of 6) and Microdrives
(2 of 12). All were replaced under warranty.
The Microdrives can cause you a lot of misery if
you plug in your new QL computer and follow the in-
structions in the User Manual. It tells you to "make at
least one backup on a blank cartridge" before you use
any QL program. This is good advice, EXCEPT, if one of
your new, untested Microdrives is defective, you may
destroy the original copy of the program. This happened
to me with my first QL, and it took three exchanges of
the PSION programs before I (and the dealer) realized
that it was the Microdrives causing the problem. You
see, Microdrive One worked fine, but Microdrive Two did
not. A new tape would load and run fine in MDVl, so I
would follow the manual and put a new cartridge in MDV1l
and the original cartridge in MDV2 (following the User
Manual) and enter LRUN MDV2 CLONE. The new cartridge
would format and as soon as MDV2 started verifying the
first file copied, the damage was done. The ominous
message "At line bad or changed medium" would appear
and copying would stop. This was hard to believe, since
the program had just been loaded and run to make sure it
was ok. So, try it in drive 1 again, right? Wrong! The
tape was not readable. Ok, call the dealer and explain
what happened...they'll say the QL must be ok because it
loaded and ran the tape once and everything looked
good...so send the tape back for replacement and try it
again. Same results.
Alright, so how do you avoid getting into this
situation? It's really easy, you just assume that some-
“thing will go wrong and go through the following test
procedure before trying a tape with anything important
on it. If the test is successful, your Microdrives are
both in the 10 out of 12 group that are good.
1. Reset the QL and press Fl or F2, as appropriate.
2. Put a blank cartridge in drive l.
3. Format it with "format mdvl_testl".
By Gale Henmnslee
Enter "dir mdvl_" and you should get a message
like: testl
220/221 sectors
5. Write a short program and save it to mdvl. Lrun
the program. If it works you can feel confident
that mdvl is a good drive.
6. Repeat the above steps 2 through 5 with imdv2.
7. When you are sure both drives are good, then
proceed to make backup copies of your programs.
You will probably not have any further trouble.
If any of the above steps fail, repeat them to
be’ sure, starting with step 1. If you get the
same result, the drive is probably defective.
Call your dealer. (If you have a spare and are
building a kit, replace the drive and test it.
Chances are that the new drive will be ok and
everything will work.)
Keyboard leads are simple to troubleshoot. The
first thing you should do after turning on the computer
is press each printable key and look for the echo in the
control area (screen 0). Test the capslock and _ shift
keys and the cursor keys (this checks CTRL). Pressing
enter should get you some kind of error message unless
you have typed a valid command. If all keys work so far,
it's unlikely that there is a bad keyboard lead. If any
keys fail to work, it's probably a bad lead, but call
your dealer for instructions. A lead that's improperly
inserted, or broken near the socket can be fixed easily
in a few minutes but don't void your warranty by opening
the case (kit owners excepted). A broken lead is usually
difficult to spot because the ribbon cables can have
hairline cracks that are virtually invisible. If there
is a noticeable kink in the ribbon, you should suspect
such a crack. You can confirm it with an ohmmeter. A
lead broken near the socket can be trimmed off above the
bad place and reinserted into the socket. Be careful
here, use both hands to hold the ribbon about 1/4 inch
above the end and push it into the socket straight
above, using gentle but firm pressure. It usually helps
to cock the cable to one side to get it started. Be
patient here and it will go in. Be careful not to kink
the cable.
I hope the above suggestions will help some new
owners to get started using their QL's with less hassle.
Qe Q“uiliYvWord Processor Tips
Part III
by
Mike de Sosa
You
may not be aware of it as yet, but
Time Designs’ advertisers will soon be
offering new hardware and software which
should, once again, blow the mind of QL
Quill users. Think about using your
favorite--or least: favorite-- word processor
program with the following accessories:
1> A dual disk drive interface with an
additional 512K RAM; a full CARE ELECTRONICS
/QJUMP Toolkit II and the super-efficient,
lightning fast QfLash RAMdisk driver and
Toolkit and other utilities in EPROM; a
parallel printer interface; and an optional
MIDI interface and an unusually efficient
mouse.
2) A multi-tasking program which permits
instant switching between up to 9 machine
executable programs (including the four QL
software programs, each with reserved data
~,
=
5
space) and SuperBASIC without loss of data,
an on-screen calculator which will printout
the results in Quill and the other programs,
and a new and unmatched files management
progran.
3) A revamped keydefine
offers double-keystroke
(41 user-definable
holding up to 2048
Cabout 340 words] or the equivalent in
commands) and several utilities such as
printing of the date and a CAPS LOCK audible
Signal in the QL software programs: produce
an entire letter with a few keystrokes.
The items described which you will soon
see advertised in Time Designs (and which
will be fully discussed in my forthcoming
book on the Sinclair QL system (Taking the
program which
program operation
function keys, each
characters of text
Quantum Leap! The Last Word on the Sinclair
QL, to be published by Time Designs in
April) are, in order:
1> One of several available versions of
the Sandy SuperQ@Board, "the most sophis-
ticated peripheral for the QL,” available
soon with Supermouse from Sandy <‘UK) PCP
Ltd. (Cthe producers of the Futura 68000 PC]
through QUANTUM COMPUTING (an authorized
Us QL dealer), Box 1280, Dover, NJ 07801
(Tel. €201] 328-8846), price TBA, probably
under $500--let’s get those prices down,
dealers! The other part of this system is a
plug-in replacement EPROM for the
SuperQBoard by QfLash (the QfLash RAMdisk
Driver/Toolkit is also available in six
other configurations to meet your needs).
Write or call QfLash, Firma Uwe Fisher, Post
Box 102121, D-2000 Hamburg 1, West Germany
(Tel. 040-7650461) for prices. Tip: While
you’re at it, order the very excellent
QfLash Utilities software--RAMDOCTOR alone
is worth the price. And, while we’re
talking about QfLash products, their latest
is another unique bit of hardware: the
Q@fLash EPROM * 12 fits into the QL expansion
port and allows up to three EPROMs to be
used simultaneously, without switching--the
Psion QL software programs may be used all
at one time, even on a 128K RAM QL!
2> The multi-tasking program is Task-
master, availablle from Sector Software, 39
Wray Crescent, Ulnes Walton, Leyland, Lanca-
shire, U.K. (Tel. 0772 454328), for #10,
including Airmail postage. This was termed
"the Rolls-Royce of such software” by a
British reviewer.
3) The key-define program is the "new and
updated” Keydefine, available from many dis-
tributors, including Sector Software, for
about #10 plus postage. This suite of
programs, useful in SuperBASIC and assembly
language programming as well as in all the
QL software programs and in any computer
application, may be the single most useful
QL software utility yet produced; its uses
are==to use an apt cliche--limited only by
the imagination.
USING QL QUILL WITH THE NEW WONDER WEAPONS
But what do all of these high tech
bells and whistles mean to the QL Quill
user? Let’.e; face. it. Margaret Mitchell
could have written Gone With the Wind on the
T/S 2068 using Tasword II™- Are they just
interesting gadgets which we would use
infrequently? That is all up to you. What
this new hardware and software does is
permit you to realize
of the QL, that -is)
or more programs.
Uncle Clive once said that the stockQL
had all of the memory and mass data storage
that most PC users would ever need. But many
early QL users soon found that the QL
software programs-~-especially QL Quill and
QL Archive--did not operate well on the
available RAM, and increased RAM was found
to truly enhance the operation of these
programs. Then came the early disk drives.
Many--though I was not one--experienced
great difficulty with the QL Microdrives.
(I. still believe that for most applications
the expanded QL with RAMdisk and only the QL
Microdrives for mass data storage is quite
the original promise
the multitasking of two
satisfactory. )
The new, full-featured,
with increased RAM, additional ROM... utili-
ties, parallel interfaces, and--in the case
of the SuperQ@Board--even more advanced ROM
utilities and a "'mouse” interface greatly
increase the capabilities and flexibility of
QL Quill and other programs. A single disk
disk drives
drive may have the storagage capacity of
more than six Microdrives: all four QL
software programs and many dozens of
datafiles of all types could be put on-line
for rapid loading. A second disk drive,
especially with an expanded QL with RAMdisk
software, gives you almost all of the
quick-reaction and data storage capabilities
once found only on a minicomputer.
Automatic and efficient QfLash RAMdisk
software (there is no need to format or
specify the size of a RAMdisk which enlarges
or shrinks in capacity as data is added or
deleted) provides eight more data/program
banks, to and from which data can be
transferred almost instantaneously. Its
accompanying Q@fLash Toolkit which, among a
great many other things, lets you load a
ful) -Microdrive into a RAMNdisk in —7-14
seconds and selectively save RAMdisk files
to Microdrive (that is, automatically "save"
only those programs which have been altered
since the last "backup” operation). The
same MDVLOAD command that loads a Microdrive
so rapidly into RAMdisk may load corrupted
Microdrive data that cannot be loaded in any
other way. This in conjunction with another
QfLash utility, RAMDOCTOR_bas, might permit
you to recover corrupted data salvageable in
no other way. Another QfLash Toolkit command
permits the rapid and automatic comparison
of program or data files, bit by bit, and
the correction or alteration of any
undesired or corrupting segments,
There are numerous switching programs on
the market now, but Taskmaster is--right
now, at least--the best of the lot.
Taskmaster lets you run all four QL software
programs as if they were on different
machines! While typing a report in QL
Quill, you may switch to QL Archive or
Abacus to check a needed bit of data, then,
while printing a long document--perhaps from
a spooler, switch to QL Easel or SuperBASIC
to perform other operations. This is the
way one works with a more fully integrated
suite of software programs or on a
minicomputer.
The 41
quill key,
KEYDEFINE, representing
characters of text or commands,
for many purposes: to order a simple or
complex command sequence with fewer key-
strokes; to insert blocks of text into QL
Quill documents with only a double
keystroke; and to insert research data such
as a direct quotation (‘taken down using
quill_key itself) into a formal document.
If a great deal of data must be on tap,
several quill_key programs may be used to
hold all of it, but only one quill_key
program may run at any one time.
I believe that you would agree that all /
of the new "wonder weapons” described have
many legitimate uses with QL Quill and other
prograns. But there is one more essential
ingredient necessary to use them all
definable
Quill
user
the Ol;
each
keys in
version of
up to 2048
may be used
together: a comprehensive "boot" progran. I When executed, QL QUILL attempts to
am still working on this aspect of the reserve nearly all of the available RAM for
problem but promise to include one in a itself--it needs 60K or more data space for
future article and in my book, effective operation. If you want to run
other programs with QL Quill loaded in RAM,
you must reserve the space. Insert one or
more rogram lines like the following in your
we complete this series of articles QL Quill boot” program for each 32K of RAM
on word processing with QL Quill, I wonder you wish to reserve outside of the program
what else out of an immense pile of notes on dummy$=FILL$(" ", 32000)
the subject should be included. Here goes. Insert CLEAR on the program line following
If you use QL Microdrives for data EXEC _W MDV1_ Quill in the "boot" progran.
storage, you will find it quicker and more “Finally, did you know that QL Quill
trouble free to perform your file operations command sequences operate much faster with
outside of QL Quill in SuperBASIC mode, the control area removed (by keying F2). The
especially if you employ RAMdisks and have Hyphenate command takes 7-8 seconds less
the Toolkit II "wildcard" (WCOPY, WDEL, time to function without the control area.
WDIR, and RENAME) or QfLash Toolkit
(MDVLOAD, SBACKUP, and FBACKUP) commands
available. «If you're fortunate enough to
have TASKMASTER, its FILES utility is
excellent for this.)
MORE QL QUILL/WORD PROCESSOR TIPS
NEXT TIME: QL ABACUS/SPREADSHEET TIPS and
more exotic new equipment.
20000 PRINT "Hit 3 to stop, I far ICE, or any other to run JOS”
20010 ink$=INKEY$C(-1)
20020 IF ink$=="s”"” THEN STOF
20030 IF ink$=="i" THEN ICE
20040 WHEN ERRor : IF ERNUM=-19 THEN CONTINUE: END WHEN
20050: ce; CSIZE. 2, 1: PRINT “ JOS ACTIVE ae”
20060 PRINT "@1 986 by JOE WEWMAN”
20070 CSIZE 0O,O:PRINT "Enter year or ENTER to quit’:CSIZE 3,1!:INFUT “year Cyy) ”
»years;IF CODEC yeardtoe>O THOM year@yeard: INPUT “month”, month: INPUT “day” ,day!: IN
PUT “hour”, Ari INPUT "Min. ”’ miniyear="19"&year; SDATE year ,month,day,hr,min,o
20080 CSIZE 0,O0:BEEFP 0,1,255,1300,1
20090 driveg="flpl_”
20100 PAUSE SO'BEEPSPRINT “hit » ice or bdasic”
20110 ink#$=INKEY$(—1)
20120 IF ink$=="i" THEN ICE:ELSE cc: STOP
20130 DEFine PROCeédure cci:CLS#0:CLS#2:CLS:END DEFine cc
20140 DEFine FPROCedure 1:LIST:END DEFine 1
gy
20150 DEFine PROCedure ld (file) Correction for JOS
20160 call=files
20170 file_nameg=driveg&icall$
20180 MERGE file names
201950 END DEFine ld
20200 DEFine FROCedure default ¢driver$)
20210 drivet=drivers
220 END DEFineé default
20230 DEFine FPROCedure LRUN ¢files>
20240 call$=files
20245 NEW
20250 file_name$=driveg&call$: MERGE file names
ZOZEO RUN
20270 END DEFine LRUN
20280 DEFine PROCedure llist
20290 OPEN #100,ser
20300 Cc:PRINT "READY FRINTER Chit any key?” (FAUSE
By Toe Newman
20310 ce
20320 LIST #100 After trying to run my JOS program which was
Sain eee resented in the Jan/Feb '87 issue of TDM (when you
20340 DEFine FROCedure cat P » Y
20350 DIR drives tried to use the LD, LRUN, or DS commands), the program
20360 END DEFine cat most likely stopped with a mysterious error report--"not
20370 DEFine PROCedure 5s (filet) implemented". Th ber is 19, which h s to
20380 Call$=fileS: SAVE driveg&cails 1} base Ss = Tees ee = — cart
20390 END DEFine s be listed on page 19 of the Concepts section of the QL
gosee a Bi PROCedure Iprint (printers) Users Guide, but there is no reference to what it means.
ote eeitasiee one iy ae te ee aa hs
meee: ENS Geiicna #100, printers: CLOSE #100 Apparently the MERGE and MRUN commands cannot be called
20430 DEFine PROCedure d (files) from inside a procedure.
20440 DELETE driveg&files
: The problem is that I left one line out of the
20450 END DEFine a
20460 DEFine FPROCedure ds (files) ESCING we phe par vs eas Ppa au 7 ee
20470 = call$=files venience caused by mistake. The new listing I have in-
20480 DELETE drivesafiles cluded not only has the "not implemented" bug fix, but a
nae Be A Se aE Bas NEW command as well (which I stated in the last article
all. ee
20510 DEFine PROCedure screen (x) would not work). It works now.
20520 LEYTES drivege&x$, 131072
20530 END DEFine screen
20540 DEFine FPROCedure commands
20550 cc: PRINT "AVAILABLE COMMANDS FOR Jos”
20560 PRINT "--~-----+---~--—-—~-~~-~~---__ =
20570 RESTORE 20550:FOR LOOPER=1 TO 14:READ COM$:FRINT COM#:NEXT LOOFER
20580 DATA. "LD" ,"S", "0", "DS" ,"SCREEN” , "CAT" ,"LPRINT”, “DEFAULT”
veces ‘ bi ; "SIREN” A "NEW" : cRag , welt ;
29590 END DEFine commands
20600 DEFine PROCedure siren!BEEF 0.1
20610 DEFine FPROCedure NEW
20620 DLINE TO 19999
20630 ce
20640 END DEFine NEW
»1,1300,150,1:END DEFine siren
oF
curry
computer
See you at the Computer Fest in
Indianapolis—-Call for Show Specials.
QOL SOFTWARE GL HARDWARE
Graphi@e $47.75 OL Computer $199.75
Cartridge Ooctor $223.95 Monachrame Cable #14.95
2ku) $24.93 Talker $4649.95
West $24.75 Cumana Disk IYF $147.95
Chess $34.95 SLl2K Memory Loy «2
QL Art Ve Pee Modapnter se
QDump =. $t3.79
Tax-lea@L $15;,75
GepeT ] 7. Ss QML ACCESSORIES
Hyperdrive 217.93
agers = $34.75 MDY Case“1ie $2.58
Key Define $17<635 MD Case“28 $16.95
QCale ‘i773 MD Case“4 $5.75
Squadrans Pees eo MinicWac $19.95
3D Slime ee =, ML Dust Cover ge i Se
Roi ndcaws $16.75 QL Print Bst Cyr 16.95
Bounder $15.93
BJ in 3D Land S17.70 OL BOOKS
Assemb. Wrekbnich Sar 73S
Techni @e S67%u.9S Service Manual S19 ers
Concept 30D Por. Ill. SuperBasic $11.75
Wanderer $34.95 Ady Programming $i2.73
Mail Merge $24.95 Word FPracessing $12.95
Presidents $12.23 Intro SuperBasic $12.95
Mortville Manar $34.75 5.6. Handbook $16.75
Peintre $34.75 Using Graphics $12.95
Nuclean $27 493 Frafiting Fram $12.95
Qthella $24.75 MC Programming $12.95
Screen. Dump $13.79 Making Most of @ $12.95
Dragqanhald $24.75 Adv. Users Guide $27.95
Last Pharaoh $249.95 Guantum Theory $11.7.
Blacklands Si Sues Games Master Si 2075
Tage: Ll 2cMDV) ~- $6? 95S Advent. Handbook SP VFS
QLterm 3 See oa OL Computing $9.95
QCade $29 23 QL SuperBasic $11.95
Boat 125k $it.75
Graphic Toolkit $27 75 fAdd .75 sh per book
ICEcicle Sere 2 Linless ordering s/w too.)
Swapper $27.32
i:i Dump $ti.?S # We are mow Stacking
Front Page $37.73 PARTS...Give us a Call
> All S/W shipped Free. Orders over $54 shipped
UPS ond Day Air Free ¢Cont. U.S. only.
> Write far a Free Catalag of GL Software & Hardware
> SHIPPING INFO: OL=#9; Mano Cable=$15 other Hardware=$2
. Accessories=F1 P~/~
P.O. Box 5607 e Glendale, Arizona 85312-5607 @ 1-602-978-2902 e Telex (via WUI): 6501267701
OFFICE: 2412 West Greenway e Suite B-10 e Phoenix, Arizona
SPECTRUM SOFTWARE
Star Glider
Xevious
Lightforce
Gift Of The Gods
Dian
Jersey Quest
Khotoni Wilf
Knightlore
Zombie
Strontium Deg
3-D Strike Attac
Rebel Star Raide
The Rats
Green Berets
Cauldron
Make A Chip
Glass
1, of the Mask
Robin/Sherwd
2axxon
Starion
Night Gunner
Beach Head
Way of Exp Fist
Astro Clone
Fred
Road Toad
Hobbit
Snowman
Ant Attack
Con¢uzion
Chequered Flag
30 Tank Dual
The Artist
Mined Out
Sherlock Holmes
Spectext
Centi-Bug
Traxx
Sabrewul¢
Dynamite Dan
Terrormo] ines
Lords of Midnigh
Great Space Race
$24.95
$15.75
$16.95
39,95
$14.95
$12.95
$9.95
$15.95
$14.95
$5.08
$12.93
$5.95
$14.95
$14.95
$14,995
$3.93
$995
$16.95
$14,995
$12.95
$5.88
$12.95
$15.95
$15.95
$14.95
$9.95
$12.95
$19.95
$9.95
$5.88
$7.95
$9.95
$5.88
$24.95
$5.88
$19.95
$9.95
$9.95
$9.95
$1495
$14.95
$14.95
$18.95
$5.08
SPECTRUM S.W cont
Alien Highway
Sam. Fox Poker
Stainiess Steel
4.06,
Spin Dizzy
Football Mgr
Spitfire 48
Dambusters
Delta Wing
i Man & Orcid
Chiller
Skyranger
Action Reflex
Psi Chess
Xarg
Bomb Jack
Rescue/Fractalus
Hi jack
Speeding J/S
Mandragere
D.T, SuperTest
Toadrunner
Kung Fu Master
Cauldron 2
Jack the Nipper
1942
Paperboy
Heavy / Magick
Bogait
Biggles
Wrid Ser, Bsktb]
Ghosts & Gcblins
Bobby Bearing
Dandy
Theatre Europe
Aftershock
Dan Dare
Deactivators
Trivial Pursuit
T.P. Young Plyrs
Hardball]
Firelord
Galyan
Prodigy
Li]
pra | Hi ARLEN pom bates) Geen peace.” nets
onnuonon on
+e tt teh
~O "oO oO CO +O CST MIO OT Oe OS
ee)
an ot
“wa -O “Oo *
nanan on ;
44>
“I-47 “OO “ONO UO UNO
on
$12,
$14
318,
245
FiGe
Boa
—
—
wy So) SOD
on
$16.95
$17.95
$17.95
$24.95
$14.95
$16.95
$14.95
$16.99
$14.95
$15.95
$18.95
$16.95
$15.95
$18.95
$14.95
$14.95
$14.95
$14.95
$17.95
$16.95
$17.95
$15.95
$22.95
$22.99
$15.95
$19.95
$14.95
$14.95
a pt Go /
SPECTRUM S/W cont
Raid Over Moscow $15.95
Jawz 35,68
Dictator $5.88
In¢iltrator $17.95
They Scld A Mil] $18.95
Fourth Pretocol $19.95
Tau Ceti $17.95
Fijte Path 737 $5.88
Frog Run $3.08
Rambo $14.95
Wham $18.95
Gauntlet $15.95
White Lightning $22.95
Elite $29.95
Red Arrows $14.95
Hypabal | $17.95
Frankie/Hollywoo $19.95
Tommah awk $18.95
Pub Games $17.95
Sacred Armour/An $15.95
Xeno $15.95
Gal. Abductors $5.08
Commande $14.95
Riddlers Den 412.92
Skyfox $16.95
Twister $14.95
Omnifale $24.95
TIMEX 1888 SOFTWARE
{See >> below)
Meteorites 34,89
Night Gunner $4.88
TI9? Keyboard $18.95
Alien Invasion $488
Fin Mor & Rec Ke 3 $4.08
Stock Mkt Calc $4.88
Space Commando $4.88
Stock Market Cal $4,868
Chess $4.08
The Puzzler $4.88
Ram Runner $4.83
Big Flap Attack 4,88
Tarot $4,808
¥ Quantities may be limited on some items...State Znd Choices,
>> 1880 Software GNLY: 2 for $4; 3 for $8; 4 for $18...a11 Sold ‘AS IS’.
P.O. Box 5607 e Glendale, Arizona 85312-5607 e 1-602-978-2902
TIMEX 1880 SOFTWARE
{see >> below)
Multiple Choice
Forecast/Graph
2048 Paper/3 Pak
2848 Printer
TS Destroyer
Matrix Planner
Missle Launcher
Textwriter 1888
Invent. Control}
Algebra |
Organizer
Fort. dorjac
Munchees
Croaka-Crawla
Supermaze
Pioneer Trail
Mix Gm Bag |
Super Math
Hm Asset Mor
Hangman
2K Games Pak
Shark Treasure
Adventure Pak
The Fast One
Inventory Contro
Labyrinth
Pilot
Graphic Golf
Crossword
Anagrams
Red Alert
The Gambler
Pinball
Backgammon
Kasino Kraps
Strategy Footbal
Frogger
Heating Sys.Anal
Checkbook
Real Estate Anal
College Cost Ana
Coupon Manager
Keyboard Calc
$4,868
$4.08
$4.99
$49.93
$4,868
$4.88
$4,289
$11.99
$4.88
$4.08
$4.08
$4.08
$4.88
$4.88
$4.86
$4.98
$4.08
$4.80
$4.88
$4.88
$4.80
$4.88
$4.88
$4.08
$4.08
$4.88
$4.08
$4.08
$4.88
$4.88
$4.88
$4.08
$4.98
$4.88
$4.08
$4.08
$4.88
$4.08
$4.88
$4.88
$4.88
$4.88
$4.88
Much More-Write for List
e Telex (via WUI): 6501267701
OHLY-
$34.95 PPL!
a
BESKIOP PUBLISHIRG!!
ROY FOR THE 20691!
VITH PIXEL PRIRT GG , — ~
Wtreveseasntinseqsauscrarerannn f(t Version 1.01 nov in! Here is a }
PROCRAN SPECIFICATIORS:
Ree AD PROGULED OFT te eee
A GL with FRERT PREE! eee = 5 ae on 1 cartridge!
ee =_———= You con now load in your
i fs i - <a sun character sets! Even
from Rucleen or OL Vorid!
Yeu caa nou add text GVE2
existing text graphics,
without uiping then cut!
Toagle betueen character
sets while inpatting text!
+ FULL SCREEN EBITING
$ PRECISION LAYGUTS
+ URDERLIKE FUNCTION
+ VARIABLE SIZE CHARACTERS HEICRT 70
TIRES HORMAL, WIDTH 18 32 TIMES HORMEL
+ VARIETY GF FGRTS- STANDARD, BOLD, "el-|
ERN, ITALICS, CHANCERY, O8 LOGD J FONT]
4 LOAB/PRIKT CRAPHICS FROM GTHER PROCS.
+ SUPPORTS- 1S 2040 PRIKTEE G2 GAY IBNy a ee
EPSGH COMPATIBLE FOR FULL SIZE AKD THE’ es ee
TASMAN (8 & £) EPI, 821 CPI, BERCS CPE. = abt: peeeige Ee Bhwdebhchay
AKO GLICER CP! Be Seareeer _— ——- Re
Pixel Friant yas created by Stan Lenke of Pixel Skeic
& Graphics Ediior Fane...s8 Goa knew it is qood!
Pixel Print creates Text and leads graphics for ney
Wind
gisa hes many pouerfal Func ions. ..Like pixel shift
for precision epee Pizei Print has @ wide seiec
tien of Fonts & sizes! Prints up te tue celumas uid
on an $.3" x U1" paper or a@ siagie column an the 15
2058 or a double eidih celenm en a Full-size printe
=tg x = F =
aSi3 a = eis, xF
GELY $19.95 For cease top
aie Preken Zin TEH3HLS
isn lie ice
x= 2 Z oO = =
192 x 32 COLOR REZ
y
Al COLOR TG OLD &E
EXIE KOED Pai TkI 706 fiboy gu ttt Sui Te HUSTLE
fibgve stoien From SL BORLB megq., fiug. ‘$5, Fron a progran by “ALAR PRIOR...
% Create PURELY CHLOR image vith a res- & Screen uas then loaded ints FRORT Pace PacE and printed with the GL PRIKTER. Kice!
lution of 172x32! := Titi THAL PROCEAN!
¥ OR create purely color image with a HE
res. of 192x64 (no Flash or bright) SLUT TERR INAL PROCES Mt
i fh ESA a q2 Ti eT. a 3 ret
+ ORABD HICH RESOLUTIONSCRLOL TO EXIST: FOR THE 2068 & SPECTEUN!!
TRE 1922250 RES. BLAZE & QHITE iNGEES! : z = ee te Urracnl
# The GHLY pregran te ailew EASY use and Pilea CHETUSGEE an BAREREED, Ributs
access to the FELL EXTERDER COLOR Mane HO EXTRA SOPTUARE or RERDPARE ReEcucu:
fdd color tc Tech-Brau or ¥a-30 images =e ay Za REEAS
etc, . ye MEME aden or use cn R02 Poard and
Cones canplete with 24 page manual # See Dae ee
exanpies and how ia use ERTERBES C81 gi e SuppaRls TaUER Tggll
NODE in YOUR programs! EXTENDED PATE ersisal softuare for the 2068 shich requires
has over 25 unique cansands tee! ; sports ang 2668
2 $15 G5 i * rogran Fite ERSILY
Gn l u Se? aes ste pnat for Tasuerd!
—i7) 363i COTS for USTSR menus, a for Files! Blse
SIHELALE ou iPHTUES! “GS! SELL istaps ai ¥e . SPECTERN-84 can
iv , etc. FREE support and EXTRA FEATURE menus ore
2663 SPECLELS: S, TIME-=<K>=-CHAREE BBS,
DTGNAHAUK SUPER HELICOPTER SiNGialisn HE FY: Spectrum version (2068 with enaletor), or 2063
OHLY $15.95 POST PRIS TILL APRIL U1! re erchangeable! Please arder carefully!
DNRCHIBRE CORE THTG2-33 LESSERS. 2 TAPES =
GELY $17.95 FEST PAID TILL PEEL if! =
>>> RES METAL CSSES RLERSERZIVES!! dee
aa CORPACT, QTIRSETIVE RETAL CASE 4% --
RERB/ERITE LEB, THIS BRIVE LOSES LIEE une TEV chi zs mm:
A NIKI HARD GISk GEIVE...BUILT 18 LAST ~ at ar . aa P
Hi ntti Liv £7743 ARESABYTAES 35 5: =
P24 Panel i aK DEPRRINERT TDR-4
PLEASE AUN 36,50 6 eg. Th SE HW «UOIPBEEY GT) OBah
5 FREE MICRUAFERS, BE t £3 8. ¥LRGE! $1.,820
= x x ¥FARET = i re
5 ae a ELIZABETH, Rd 67292
106 REMark CRATER for QL, Gale Henslee, 1987
116 MODE 4:PAPER #2, 0:BORDER #2,0,@:CLS #2:PAPER #1, 0:BORDER #1,0,0:GS #1
:WINDOW #1, 410, 160, 46,6:CLS #1
120 INK #1, 4:LINE 0,90 TO 100, 0:LINE 0,6 TO G6, 10@:CURSOR 28@,148:PRINT #1, ”
X%”: CURSOR @,0:PRINT #1, “Y”: INK #1, 4
138 q=-4
140 FOR a=23 TO -16 STEP -1.6
150 IF &5 :q=q-1.7
1606 ELSE q=qti:END IF
176 FOR b=q TO 15 STEP .3
188 - z=COS (GE-2* (a*atb*b) )
190 h=80-a*. 9-b-z
203 x=49-250% (ax. 4+b*. 9) “*n) Bis Gale. meri 2 coe
210 y=4S+256% (ax. 3-b*. 14+2z*. 2 /)
220 IF x>206 OR x<@ THEN NEXT b
238 POINT #1, x,y
240 END FOR b
250 END FR a
266 CLOSE #2:CLOSE #1
276 CLS #@:PRINT #0, “Press any Key when ready to exit ”
280 PAUSE
290 REMerk test for monitor or TV moce.
300 TV_VALUE=PEEK (163899)
310 IF TV_VALUE=2:G0 TO 380
320 REMark reset monitor mode screens
330 OPEN #2, scr:WINDOW #2, 258, 200, 6, @: PAPER #2, 3: INK #2,6:BORDER #2, 2, 0,7:
CAS #2
340 OPEN #1, scr: WINDOW #1, 258, 200, 254, @:PAPER #1, 6: INK #1, 3:BORDER #1, 2, 9,
7:Q.8S #1
350 WINDOW #0, 512, 57, 8, 1SG:PAPER #0, 0: INK#0,5:CLS #0
362 STOP
376 REMerk reset TV mode screens
380 OPEN #2, scr:WINDOW #2, 420, 160, 46, @:PAPER #2, 3: INK #2,6:BORDER #2, 2,0,7
:AS #2
398 OPEN #1, scr:WINDOW #1, 420, 160, 46, @:PAPER #1, 6: INK #1, 3:BORDER #1, 2, 0,7
:QAS #1
400 WINDOW #0, 420, 32, 46, 160:PAPER #0, @: INK#0, 5:CLS #0
410 STOP
ad mr? | = rer
the #nd ALlD¥EST T§ ER
= £23
LAER! SURE HGFE Fz =F i i
BY OQ“SUER BERTH. ..CHELE GT I8#L
MENHTIGH THIS AER BH CEI R z
Se
E
;
z Eo:
ES BREE PROG TH HE FRET
: i. €¢% RET BGTR] ‘CRTHS «
FOL SPECITAL- $199 POST Pal! FUTURE UIs ON?1?
2CHECK BHAT THAT FRHOLURES: ‘HHET Hee:
&> O@L Ure FPETBGH PEBELRMS:: iam Masai SF bit chip 2
k> & MICRGDREIVE CARTEIRCES | Caneradtht £2iG% 3
*>} FREE @£ BEELD MAGHZEIHE! ls Mz Clock i Sot ase
* > OL USER GUIDE, OUR OU (128E BOM, exchangeable
° 3 EB FREE SE 25 5 ('Gi2E BAM ¢<up te & MEG?
2 THSTRUCTIGHS , TY LHELE ‘Mulii-Mede videe, vith
eerucee fac ce eee 5 (PALLET MAPPING option,
i 3 a ~EBiLrF &2 SHEEP? os land £5525 in
ALSO IHCLUBED FREE: COUPON HORTA £20 OFF @ 512K BR PACE, BEALER MIDI in-out ears
SGAY UARANTEE, @KB FREE UTILT ane HG fg ‘Meuse & parallel perts
SOPSee TGnAY! CALL OF WRITE . SES, ‘Hetuerk ports
5 (2 BE222 ports vith
= (imiependant boud rate
: iFuii bus connector
: [2 Internal ROM/RAM bas connectors
= i2 External g@Mper connectors
= i2 Internal R@Mper cennectors
= i‘g’ channel STERIG sound
\ /‘URRTE TY SALES iBatte
325 BEST JERSEY $1., #28
ELIZABETH, HJ a72 *PATIBLE 0
TEL: 291-527-853 lil FOSEET REC RLUE BEST!
I
WMJ DATA SYSTEMS
**Serving the Timex/Sinclair community since 1983 **
e Free shipping on all prepaid orders!
¢ Shipment within 24 hours on most of our orders!
e Your personal check is gladly accepted with no delay!
¢ C.0.D. phone orders accepted! (Shipping charges added)
TS1000
ACZ GENERAL LEDGER
TS1000
SUPERTAPE-45 PROGRAMS TS1000
TEXTWRITER 1000-32 col.
SPEECH SYNTHESIZER
STOCK PLOT
TS1000
TS1000
TS1000
$19.95
18.95
12.95
16.95
14.00
BOOKS AND ACCESSORIES
KRAFT SYSTEM JOYSTICKSTS2068 $ 9.95
HACKER’S HANDBOOK ~~ ALL 9.95
BASICS AND BEYOND TS2068 7.00
C10 CASSETTES 25 for 21.00
C20 CASSETTES 25 for 23.00
TS2068
ACZ GENERAL LEDGER _—_TS2068 $19.95
THE DEALER’S DEN TS2068 19.95
MACHINE CODE TUTOR 1S2068 18.50
TOMAHAWK TS2068 16.95
NIGHT GUNNER TS2068 16.95
FIGHTER PILOT TS2068 16.95
CRITICAL MASS TS2068 15.95
SABOTEUR TS2068 15.95
BASIC TOOLKIT TS2068 13.95
MSCRIPT (specify conf.) | TS2068 24.95
DIAMOND MIKE TS2068 16.95
COLONIZE THE UNIVERSE TS2068 16.95
STOCK PLOT TS2068 16.00
All QUICKSILVA Software 7S2068 CALL
WMJ DATA SYSTEMS—TD
4 Butterfly Drive
Hauppauge, NY 11788
(516) 543-5252 (2 p.m. - 5 p.m. Best)
FREE Apple, Atari, Commodore, IBM...Catalog
FREE Timex/Sinclair Catalog - Write or Give us a CALL!
a
RESOURCES FOR YOUR SINCLAIR
FROM TIME DESIGNS MAGAZINE COMPANY
GREAT BOOKS FOR YOUR SINCLAIR
OFFICIAL 2068 TECHNICAL MANUAL...........$25.00
CONTROL THINGS with your
Timex/SINClair DY R.L. SWATTS......ssssssescssessessees $5.00
ZX81: Programming for Real Applications
ROE RE FOIIIY,, .cxcccecieissnicdakctichesivemsmuatiidiaasiocseds
Includes 12 Software Programs
on a Cassette Tape
Build a Microcomputer - Controlled
Robot by B.C. Taylor
BOTH
*“Control
Things”’
and
6¢é ZX8 ] 99
Package
For Only
$10.00
TIME DESIGNS MAGAZINE
Still
Only
$15 Year
Six Issues
os EVADE
; ~e By
SEE THIS
NEW BOOK
AT THE FEST!
YOU NEED
“TAKING THE
QUANTUM LEAP”
By Mike de Sosa
The Ultimate Resource For
Your Sinclair QL
AVAILABLE SOON!
Published Exclusively By TIME DESIGNS
Write or Call for Information
TIME DESIGNS MAGAZINE
BACK ISSUES
$3.00 EACH
Nov/Dec 85 VOL.2
Jan/Feb 86
March/April 86
May/June 86
July/August 86
Sept/Oct 86
Nov/Dec 86 VOL.3
Volume One Issues are no
longer available individually
(See “BEST OF TDM”).
9
Subscription - One Year
Specify Which:
ontrol Things With Your
Timex Sinclair
TIME DESIGNS MAGAZINE
THE BEST OF TIME DESIGNS |
VOLUME ONE
COMPUTERS
TIMEX
Volume 1
$10.00
$15
TIME DESIGNS BACK ISSUES
$3.00 each
THE BEST OF TDM Vol. 1 $10
TS 2068 Technical Manual $25
$5
ZX81: Programming for Real
Applications (includes tape) $6
SPECIAL PACKAGE DEAL:
Both “Control Things” and ZX81” $10
Build a Microcomputer
Controlled Robot $17
Taking The Quantum Leap
Write or Call
WE PAY THE POSTAGE
ON ALL ORDERS!
TOTAL
FOR MAGAZINE SUBSCRIPTION (please circle one below):
NEW SUBSCRIPTION
SHIP TO:
; NAM
ADDRESS
ST UY UR § ike og Re ees ae
ZIP
PHONE
PLEASE PRINT NEATLY.
CREDIT CARD
(Circle One)
MASTERCARD / VISA
Acct. Number
Exp. Date
Signature
Note: 4% charge added to all Credit Card Orders.
THIS I5 A RENEWAL
THIS IS A GIFT
PAYMENT
Check or M/O.
VISA and
MASTERCARD
ACCEPTED
Perl
24 hour ORDER LINE
(503) 824-2658
For Books, Subscriptions
TIME DESIGNS MAGAZINE CO.
29722 Hult Rd., Colton, OR 97017
a EE EE Ee ——
The Best of TIME DESIGNS
the
CLASSIFIED
FREE ADS FOR SUBSCRIBERS
One TASMAN TS2068 CENTRONICS I.F.
with cable & driver SW for parallel
printers (original cost $89.95) for
$55.00 ppd. One like-new copy of
500-page GUIDE TO T/S COMPUTERS by
Morse, Adamson, Anrep, Hancock for
$9.00 ppd.--an excellent BASIC
text-book. R.D. Hartung, 2416 N.
County Line Rd., Huntertown, IN
46748.
FOR SALE: TS2068 (new), still in
the original box. Also ZxX81 and
TS1000 with Rampacks, power supplies
and manuals. Dick Taylor, 309
Holly Circle, Tiverton, RI 02878.
(401) 624-2035.
FOR SALE: QL computer, printer,
various books, spare power supplies,
and more. Call for prices and
details. (603) 352-9836.
SINCUS NEWS-$8/yr=6 issues. TS2068
oriented user group newsletter.
Mail check to SINCUS, 1229 Rhodes
Rd., Johnson City, NY 13790; a
non-profit amateur users-oriented
group.
KKXX Satisfaction
Stratford Ave,
KKK A complete Administrative package:
KX Use with ALL Parallel Interfaces, Printers.
for use with OS-64 Cart (64 Col Screen).
HEX Disk Versions for
Guarantee.
Panama City,
Cassette or Disk Drive,
WANTED: A legal copy of MICRO-
PROLOG for the Spectrum, complete
with original docs. Willing to pay
retail price. Also wish to contact
others working with it. Pete Fischer,
POB 2002, Tempe, AZ 85281.
FOR SALE: TS2068, power supply,
2050 modem, interface, assorted
software/cartridges, $175; Olevetti
PR2300 dot matrix printer, orig.
$250, only $125. Contact: Paul
Maxwell, 8023 Park Lane, Bethesda,
MD 20814 or phone (202) 225-8115.
WANTED: ZX99, HOT-Z, BYTE-BACK,
or other add-ons and utilities for
the TS1000. Also want Syncware
News back issues. Wanna swap soft-
ware? Send me your list. Dan
Elliott, Rt 1 Box 117, Cabool,. MO
65689.
WANTED: SINCLAIR DIGITAL FM RADIO
WRISTWATCH in good condition. Also
want working and good condition
48K ZX Spectrum (with rubber keys).
Send reply to: Tim Woods, c/o TDM,
29722 Hult Rd., Colton, OR 97017.
Do you have some equipment or a program that you would like to sell? Looking for something hard to find? Place an
ad in THE CLASSIFIEDS! Subscribers can place one free personal ad in each issue. Ad size is 32 Col. wide (like 2040
paper) and maximum of six lines. For additional lines - $3 each. NON-SUBSCRIBERS and DEALERS: $4 a line.
DEADLINE FOR ALL CLASSIFIED ADS: Two weeks before publication date. Mail your ad to:
TIME DESIGNS MAGAZINE, The Classifieds Dept., 29722 Hult Rd., Colton, Oregon 97017.
SE OK OK OK OK 6SMART TEXT TS—-LV2osesS KKK KK
TIMEX 2068 "DESKTOP PUBLISHER"
Software. $19.95 + 1.25 for post. <™
and handling. Charles Stelding,
1415 S. Baxter, Tyler, TX 75701.
WANTED: TS2068 Owner's Manual.
John Sandgren, PO Box 539, Cavalier,
ND 58220.
MONTHLY PLANNER Pgm for TS1000
and 1500. Ergonomic software keeps
track of Events/Dates--Fun to use,
micro drive compat! Only $ll.
M. Felerski, 2110 Parnell Ave.,
Ft. Wayne, IN 46805.
SOFTWARE FOR THE TS2068. Send
SASE for free catalog & price
list to: E. Ray Rash, 2424 S.w.
78th St., Okla. City, OK 73159.
WANTED: BOOKS AND MAGAZINES for
TS2068. Send list with prices to:
Arthur V. Murray, 99 Waverly Ave.,
Apt. 9-C, Patchogue, NY 11772.
WANTED: TS2068 COMPUTER, new or
used, but complete and in good
condition. Call or write: Tony
Willing, P.O. Box 199, Vashon, WA
98070. Phone-(206) 567-4118 eves.
or (206) 463-3682 weekdays.
i]
FOR SALE: OVER 30 SPECTRUM and |
TS2068 programs for as low as $8 7
each (U.S.) incl. p&h. Some titles:
Ghostbusters, Commando. Send SASE
to: Alvin Albrecht, Box 2513,
Medley, AB, Canada TOA 2M0.
FL 32404,
Inquiries welcome.
aa
Word processor, Data base
Second program included
Aerco FO and Oliger
$39.95 Check or MH/O, Gulf Micro,
Specify
manager, Mail List, Full text editor, Automatic printer, Automatic
formatter. Perfect letters or manuscripts in multiple copies. Mail List
for personal form letters. Repeat print 5 page reports. Desk top
publishing. Friendly, Menu Driven, no command keys to learn, Crash Proof.
Velez.
1317 ss
type interface, for
om
Sinclair Users: You know without a doubt
what the power of Sinclair Superiority is or
‘you wouldn’t have these pages in front of you!!!
You know how Sinclair Computing just leaves ali of those other ‘‘Status Quo Sheep’’
PC’s, Cloneys, etc. in the DUST!
The QL takes this Sinclair Superiority Tradition right up to it’s highest form using
68000 architecture! The QDOS & SuperBasic Environment constitute the Greatest
Computer Achievement of the 20th Century!! Like all of the prior Timex implementa-
tions, you have to use the computer to appreciate the beauty all locked up inside of the
keyboard!
Dedicated Usership:
\_ you are one of the users who is still hugging the prior superior computing models of
Z.X-81 and 2068, don’t you think that now is the TIME to get yourself one of these
ORIGINAL Sinclair QL Designs? It won’t be long now before other updated, enhanced
U.S. QL models go into production. This will most likely cost from 50% to 100% more
than the original QL because of the expenses involved in implementing such things into
production. We have been selling the QL for well below retail. Don’t wait until future
models reduce the current original version to a mere ‘‘Collector’s Item’’.
Longevity For Once:
The Sinclair QL Environment will NEVER be abandoned like the Timex versions. There
is too much power contained in the design, and enough other companies are involved in
compatibles and high level software!
Special To All Time Designs Readers:
Buy Your QL Now For $175.00! ! =? 5m
A Flat Price for TD Readers with TS 1000, 1500, or 2068. Finish your collection! Have all
of the original Sinclair Research Laboratories family of miniaturized computer marvels!
oP I] e 201 328 8846 Technical Info & Assistance - -
va ge Our Phones are Manned 24 Hours a Day
‘Line BBS: 328-2919 Lot Purchases Available. We Direct Distribute.
Quantum Computing, Box 1280, Dover, NJ 07801
ee ee
*
~ >
3
~
ie d
et . = E 4
Ne FOR 1 7"
: ‘ F j
@¥ » +
x = x > =
MULTI-TASKING ON THE. TS 10002 * |
a as :
mW! ~
BELIEVE TM! f ¢ . » does not slow down your computer. SLOW mode programs can
E WEYMIY Se thies to delivér what everyone ise says is “ims = actually have speed increases up to 400%! Registered users will
’ possible.” What’s the hottest feature in computers today? MULTI- - receive FREE periodic application update Bneeis.
TASKING! Until now, most people thought that you had to > buy an : We feel confident that NOVA 1000 will redefine the standards for
expensive 68000 machine for multitasking. Please allow Us'toin- * TS 1000 programming. Consider this offer. If you can develop im-
; troduce NOVA 1000, the software that delivers MULTI- TASKING to aginative programming applications utilizing NOVA 1000, we will
eS the TS 1000. No gimmicks, no tricks. A full multi-tasking: environ- + © provide our proven marketing expertise. We will handle advertis- °
... ment for the TS 1000 at a very affordable prite. Our developers 2 ing, distribution, and customer service PLUS pay you the most
eS have outdone themselves on this one. Please read an. es - competitive rates in the industry. All you have to-do is create and
; 4 NOVA 1000 comes complete with these powerful built-in ae we'll take it from there. This offer is restricted to registered users.
An honest-to-goodness switchable real-time clock that runs con- : ea
current with your programs ON THE SCREEN. A switchable ™ ~ NOVA 1000 for the TS 1000 only $ 20.00
automatic line tracer to aliow you to follow the operation of your 2 ~~
BASIC programs. Switchable auto-repeat on all keys, just. :
thing for creating long REM statements. There’s more. a » TRACER TS2068
Each copy of NOVA 1000 comes complete with 3 completé ver-" The perfect de-bugging tool for BASIC programs. This program
sions. Version 10 contains the complete NOVA 1000 program in. é allows you to actually see each line of your BASIC program as it is
statement 0 REM to allow you to incorporate its*features in ne executed. This program prints not only the line number in use, | but. _
existing programs or programs of your own design. Version the commands as well. It uses only the bottom of the screen for
automatically locates itself to the 8 to 16K region for Hunter display rather than interrupting the screen display. De- -bugging
- Board or 64K applications. Version 30 auenatlcaty lowers RAM- has never been easier.
ai TOP for 16K configurations. .% 3.
Consider these possible applications” of NOVA 1000. A TRACER FOR THE TS 2068 only $ 15.00
background auto-dialer for BBS applications would allow your ~ a
~ computer to be used for other purposes while waiting for access. ~
~The real-time display could be used to keep track of BBS time SOUNDESIGN TS2068
3 _ “usage, great for pay boards or long distance calls. Multiple M/C
~~ -sograms can now be run simultaneously. The real-time clock can
__~ be used as a timer to activate or de-activate several programs at
once! BASIC ané MIC programs can be run together. Package M/C
“programs as memory resident BATCH files. Create printer buffers
~for W/P applications. Transfer data between two or more on-line
programs. Control multiple real-time I/O events for powerful low-
cost robotics. Monitor the actual running of BASIC programs
rather than just watching the results. There’s still more.
The best sound development program we’ve seen for the TS2068.
This program allows you to manipulate the sound chip of the TS
2068 in ways never before imagined. The sound effects, syn-
thesis, and music this program can. create have to be heard to be
believed. Along with built-in sound routines, this software allows
you to develop and mix your own as well. Once you have created
the sound you want, all you have to dois press a key and you geta
print-out of the line of BASIC required for you to implement that
sound in your favorite program. This program is not only a power-
NOVA 1000 is very user-friendly and well-documented in laymen’s. ful utility for any software library, it is also just plain fun.
language. You would expect a program with these features to be
memory intensive, NOVA 1000 uses only 512 bytes! NOVA 1000 SOUNDESIGN for the TS 2068 only $ 15.00
SPECIAL OFFER!!!! = % . ‘
. and pay only $64.95
SHIPPING INSTRUCTIONS: Please enclose $2.00 shipping and handling with your order.
WEYMILCORPORATION
Box 5904 7 4
Bellingham, WA 98227-5904 é : s ;
Save $ 5.00 when you order the combination of THRUST, RIGTER, JOYSTICK INTERFACE, and KRUNCHER 1000 > 4
|